w32: Let npth_eselect return 0 for timeout. Fix replacement error codes.
authorWerner Koch <wk@gnupg.org>
Wed, 25 Jun 2014 18:25:28 +0000 (20:25 +0200)
committerWerner Koch <wk@gnupg.org>
Thu, 26 Jun 2014 13:21:50 +0000 (15:21 +0200)
* w32/npth.c (npth_eselect): Remove debug output.  Return 0 for timeout.
* w32/npth.h (ETIMEDOUT, EOPNOTSUPP):  Change to more correct values.

NEWS
w32/npth.c
w32/npth.h

diff --git a/NEWS b/NEWS
index 7f34aea..374200f 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,8 @@
 Noteworthy changes in version 0.92 (unreleased)
 -----------------------------------------------
 
+ * Various fixes for the Windows port.
+
 
 Noteworthy changes in version 0.91 (2012-08-08)
 -----------------------------------------------
@@ -20,7 +22,7 @@ Noteworthy changes in version 0.90 (2012-05-03)
  * First tarball release.
 
 
- Copyright 2011, 2012 g10 Code GmbH
+ Copyright 2011, 2012, 2014 g10 Code GmbH
 
  This file is free software; as a special exception the author gives
  unlimited permission to copy and/or distribute it, with or without
index 71f6986..2f5fa4d 100644 (file)
@@ -1828,7 +1828,6 @@ npth_eselect(int nfd, fd_set *rfds, fd_set *wfds, fd_set *efds,
       msecs = (timeout->tv_sec * 1000) + (timeout->tv_nsec + 999999) / 1000000;
       if (msecs < 1)
        msecs = 1;
-      fprintf (stderr,"eselect timeout is %ums\n", (unsigned int)msecs);
     }
 
   if (events)
@@ -2003,6 +2002,9 @@ npth_eselect(int nfd, fd_set *rfds, fd_set *wfds, fd_set *efds,
       WSACloseEvent (sock_event); /* We ignore errors.  */
     }
 
+  if (err == ETIMEDOUT)
+    return 0;
+
   errno = err;
   return -1;
 }
index 595f854..9497407 100644 (file)
@@ -56,14 +56,15 @@ struct timespec {
 };
 #endif /*__MINGW64_VERSION_MAJOR < 2*/
 
-/* These are new in MSVC 10.  */
+
 #ifndef ETIMEDOUT
-#define ETIMEDOUT 138
+#define ETIMEDOUT 10060  /* This is WSAETIMEDOUT.  */
 #endif
 #ifndef EOPNOTSUPP
-#define EOPNOTSUPP 130
+#define EOPNOTSUPP 10045 /* This is WSAEOPNOTSUPP.  */
 #endif
 
+
 int npth_init (void);
 
 typedef struct npth_attr_s *npth_attr_t;