]> git.llucax.com Git - software/libev.git/blobdiff - ev.c
Add missing feed_event () method to base watchers class.
[software/libev.git] / ev.c
diff --git a/ev.c b/ev.c
index bdb3d190d29f64dfc6088788ae9d7a0c50d5152c..d024017fe249eea3d041f920f95127652c4f7f44 100644 (file)
--- a/ev.c
+++ b/ev.c
@@ -602,7 +602,11 @@ fd_reify (EV_P)
       if (events)
         {
           unsigned long argp;
       if (events)
         {
           unsigned long argp;
-          anfd->handle = _get_osfhandle (fd);
+          #ifdef EV_FD_TO_WIN32_HANDLE
+            anfd->handle = EV_FD_TO_WIN32_HANDLE (fd);
+          #else
+            anfd->handle = _get_osfhandle (fd);
+          #endif
           assert (("libev only supports socket fds in this configuration", ioctlsocket (anfd->handle, FIONREAD, &argp) == 0));
         }
 #endif
           assert (("libev only supports socket fds in this configuration", ioctlsocket (anfd->handle, FIONREAD, &argp) == 0));
         }
 #endif
@@ -1164,6 +1168,7 @@ loop_fork (EV_P)
         syserr ("(libev) error creating pipe");
 
       siginit (EV_A);
         syserr ("(libev) error creating pipe");
 
       siginit (EV_A);
+      sigcb (EV_A_ &sigev, EV_READ);
     }
 
   postfork = 0;
     }
 
   postfork = 0;
@@ -1195,7 +1200,7 @@ ev_loop_destroy (EV_P)
 void
 ev_loop_fork (EV_P)
 {
 void
 ev_loop_fork (EV_P)
 {
-  postfork = 1;
+  postfork = 1; // must be in line with ev_default_fork
 }
 
 #endif
 }
 
 #endif
@@ -1269,7 +1274,7 @@ ev_default_fork (void)
 #endif
 
   if (backend)
 #endif
 
   if (backend)
-    postfork = 1;
+    postfork = 1; // must be in line with ev_loop_fork
 }
 
 /*****************************************************************************/
 }
 
 /*****************************************************************************/