]> git.llucax.com Git - software/libev.git/commitdiff
add rpid/rstatus
authorroot <root>
Sat, 3 Nov 2007 09:19:58 +0000 (09:19 +0000)
committerroot <root>
Sat, 3 Nov 2007 09:19:58 +0000 (09:19 +0000)
ev.c
ev.h
ev_select.c
evdns.c

diff --git a/ev.c b/ev.c
index cca3a3de5011a67398250b7c315f898ce92606eb..7faa403a6b206588519a69f246b36b727f744dd0 100644 (file)
--- a/ev.c
+++ b/ev.c
@@ -44,7 +44,9 @@
 #include <assert.h>
 #include <errno.h>
 #include <sys/types.h>
-#include <sys/wait.h>
+#ifndef WIN32
+# include <sys/wait.h>
+#endif
 #include <sys/time.h>
 #include <time.h>
 
@@ -440,12 +442,14 @@ sigcb (struct ev_io *iow, int revents)
 static void
 siginit (void)
 {
+#ifndef WIN32
   fcntl (sigpipe [0], F_SETFD, FD_CLOEXEC);
   fcntl (sigpipe [1], F_SETFD, FD_CLOEXEC);
 
   /* rather than sort out wether we really need nb, set it */
   fcntl (sigpipe [0], F_SETFL, O_NONBLOCK);
   fcntl (sigpipe [1], F_SETFL, O_NONBLOCK);
+#endif
 
   ev_io_set (&sigev, sigpipe [0], EV_READ);
   ev_io_start (&sigev);
@@ -467,6 +471,8 @@ static int checkmax, checkcnt;
 static struct ev_child *childs [PID_HASHSIZE];
 static struct ev_signal childev;
 
+#ifndef WIN32
+
 #ifndef WCONTINUED
 # define WCONTINUED 0
 #endif
@@ -486,6 +492,8 @@ childcb (struct ev_signal *sw, int revents)
         }
 }
 
+#endif
+
 /*****************************************************************************/
 
 #if EV_USE_KQUEUE
@@ -566,8 +574,10 @@ int ev_init (int methods)
           ev_watcher_init (&sigev, sigcb);
           siginit ();
 
+#ifndef WIN32
           ev_signal_init (&childev, childcb, SIGCHLD);
           ev_signal_start (&childev);
+#endif
         }
     }
 
diff --git a/ev.h b/ev.h
index 6e0e0bd7c309746e86893ac89a11a8d099414f94..8d2922d9c8d112643afb99cbb9bcce2437138db7 100644 (file)
--- a/ev.h
+++ b/ev.h
@@ -172,8 +172,9 @@ struct ev_child
 {
   EV_WATCHER_LIST (ev_child);
 
-  int pid;    /* ro */
-  int status; /* rw, holds the exit status, use the macros from sys/wait.h */
+  int pid;     /* ro */
+  int rpid;    /* rw, holds the received pid */
+  int rstatus; /* rw, holds the exit status, use the macros from sys/wait.h */
 };
 
 #define EVMETHOD_AUTO     0 /* consults environment */
index 0333d63949bbce3feb301d98048bfbd674460138..a0db3b6430cef3a115abce8906965fd901d1310b 100644 (file)
@@ -35,7 +35,9 @@
 #include <unistd.h>
 
 /* for unix systems */
-#include <sys/select.h>
+#ifndef WIN32
+# include <sys/select.h>
+#endif
 
 #include <string.h>
 #include <inttypes.h>
diff --git a/evdns.c b/evdns.c
index fa81f38c7385559bac3ff76a5f4dc3ece7237984..78fbd3c64f3e1218871a44e207351f00b12fb742 100644 (file)
--- a/evdns.c
+++ b/evdns.c
@@ -41,7 +41,6 @@
 #endif
 
 #ifdef WIN32
-#include "misc.h"
 #endif
 
 /* #define NDEBUG */