aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2018-04-30 05:49:11 +0000
committerWerner Koch <[email protected]>2018-04-30 05:49:11 +0000
commit4f45f3e0bb404b4a9787cb55ca154c6f60c1437b (patch)
tree9baca1c024ea6bd108be934df84b032e281d656f
parentdoc: Add SPDX indentifier for the versioninfo template. (diff)
downloadlibgpg-error-4f45f3e0bb404b4a9787cb55ca154c6f60c1437b.tar.gz
libgpg-error-4f45f3e0bb404b4a9787cb55ca154c6f60c1437b.zip
core: Fix gpgrt_poll for Windows under nPth.
* src/estream.c (_gpgrt_poll) [W32]: Use syscall clamp. Signed-off-by: Werner Koch <[email protected]>
-rw-r--r--src/estream.c2
-rw-r--r--src/w32-estream.c2
2 files changed, 4 insertions, 0 deletions
diff --git a/src/estream.c b/src/estream.c
index dcabd92..a1cc62e 100644
--- a/src/estream.c
+++ b/src/estream.c
@@ -4802,7 +4802,9 @@ _gpgrt_poll (gpgrt_poll_t *fds, unsigned int nfds, int timeout)
/* Now do the real select. */
#ifdef HAVE_W32_SYSTEM
+ _gpgrt_pre_syscall ();
count = _gpgrt_w32_poll (fds, nfds, timeout);
+ _gpgrt_post_syscall ();
#else /*!HAVE_W32_SYSTEM*/
diff --git a/src/w32-estream.c b/src/w32-estream.c
index 2122c59..c1bf212 100644
--- a/src/w32-estream.c
+++ b/src/w32-estream.c
@@ -771,6 +771,8 @@ func_w32_pollable_write (void *cookie, const void *buffer, size_t count)
}
+/* This is the core of _gpgrt_poll. The caller needs to make sure that
+ * the syscall clamp has been engaged. */
int
_gpgrt_w32_poll (gpgrt_poll_t *fds, size_t nfds, int timeout)
{