aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJustus Winter <[email protected]>2017-05-17 13:42:34 +0000
committerJustus Winter <[email protected]>2017-05-31 08:34:11 +0000
commit4a9857a2b6d8a8e847638416d35398508b3291fd (patch)
treef0748ca0c99fc10ea3805d5cd6f8c3fe0342e720
parentbuild: Prepend the maintainer CFLAGS. (diff)
downloadlibgpg-error-4a9857a2b6d8a8e847638416d35398508b3291fd.tar.gz
libgpg-error-4a9857a2b6d8a8e847638416d35398508b3291fd.zip
Align 'es_poll' semantics closer with POSIX.
* src/estream.c (_gpgrt_poll): Do not return early if some streams are found to be ready before even polling the others. -- POSIX mandates that all streams are examined and returning early violates that. It also imposes an order on how the callee serves the streams, which might be incompatible with the order the callee wants to serve them, leading to deadlocks. Signed-off-by: Justus Winter <[email protected]>
-rw-r--r--src/estream.c3
1 files changed, 0 insertions, 3 deletions
diff --git a/src/estream.c b/src/estream.c
index cae0a69..2f29cdb 100644
--- a/src/estream.c
+++ b/src/estream.c
@@ -4857,9 +4857,6 @@ _gpgrt_poll (gpgrt_poll_t *fds, unsigned int nfds, int timeout)
/* FIXME */
}
- if (count)
- goto leave; /* Early return without waiting. */
-
/* Now do the real select. */
#ifdef HAVE_W32_SYSTEM