diff options
author | Justus Winter <justus@g10code.com> | 2017-05-17 15:42:34 +0200 |
---|---|---|
committer | Justus Winter <justus@g10code.com> | 2017-05-31 10:34:11 +0200 |
commit | 4a9857a2b6d8a8e847638416d35398508b3291fd (patch) | |
tree | f0748ca0c99fc10ea3805d5cd6f8c3fe0342e720 /src/estream.c | |
parent | df1d61d5c84d984fb2d2a6f1b69c57878decf13e (diff) | |
download | libgpg-error-4a9857a2b6d8a8e847638416d35398508b3291fd.tar.gz |
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 <justus@g10code.com>
Diffstat (limited to 'src/estream.c')
-rw-r--r-- | src/estream.c | 3 |
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 |