From: lurchi Date: Thu, 24 Aug 2017 20:17:46 +0000 (+0200) Subject: fix behaviour of GNUNET_SCHEDULER_add_select on empty fdsets X-Git-Tag: gnunet-0.11.0rc0~48^2^2~8 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=fe7759b2428c183fe9595640abece0937ec88bcc;p=oweals%2Fgnunet.git fix behaviour of GNUNET_SCHEDULER_add_select on empty fdsets if GNUNET_SCHEDULER_add_select is called with empty fdsets, the resulting task is now added to the pending_timeout queue instead of the pending queue. This way the driver will not know about the task. --- diff --git a/src/util/scheduler.c b/src/util/scheduler.c index 51833a78b..cbb48c3a4 100644 --- a/src/util/scheduler.c +++ b/src/util/scheduler.c @@ -1717,8 +1717,7 @@ GNUNET_SCHEDULER_add_select (enum GNUNET_SCHEDULER_Priority prio, unsigned int read_nhandles_len, write_nhandles_len, read_fhandles_len, write_fhandles_len; - if ( (NULL == rs) && - (NULL == ws) ) + if (((NULL == rs) && (NULL == ws)) || ((0 == rs->nsds) && (0 == ws->nsds))) return GNUNET_SCHEDULER_add_delayed_with_priority (delay, prio, task, @@ -1759,7 +1758,6 @@ GNUNET_SCHEDULER_add_select (enum GNUNET_SCHEDULER_Priority prio, &write_fhandles, &write_fhandles_len); } - GNUNET_assert (read_nhandles_len + write_nhandles_len > 0); init_fd_info (t, read_nhandles, read_nhandles_len,