]> git.llucax.com Git - software/libev.git/blobdiff - ev.c
*** empty log message ***
[software/libev.git] / ev.c
diff --git a/ev.c b/ev.c
index e3e7e579a1cdf65987901f84229791b8ee00b108..c38afdac5c7ff58d1d9c6b83a40f7182fca6cba3 100644 (file)
--- a/ev.c
+++ b/ev.c
@@ -543,7 +543,11 @@ sighandler (int signum)
     {
       int old_errno = errno;
       gotsig = 1;
     {
       int old_errno = errno;
       gotsig = 1;
+#ifdef WIN32
+      send (sigpipe [1], &signum, 1, MSG_DONTWAIT);
+#else
       write (sigpipe [1], &signum, 1);
       write (sigpipe [1], &signum, 1);
+#endif
       errno = old_errno;
     }
 }
       errno = old_errno;
     }
 }
@@ -554,7 +558,11 @@ sigcb (EV_P_ struct ev_io *iow, int revents)
   WL w;
   int signum;
 
   WL w;
   int signum;
 
+#ifdef WIN32
+  recv (sigpipe [0], &revents, 1, MSG_DONTWAIT);
+#else
   read (sigpipe [0], &revents, 1);
   read (sigpipe [0], &revents, 1);
+#endif
   gotsig = 0;
 
   for (signum = signalmax; signum--; )
   gotsig = 0;
 
   for (signum = signalmax; signum--; )