gnunet

Main GNUnet Logic
Log | Files | Refs | Submodules | README | LICENSE

commit fe7759b2428c183fe9595640abece0937ec88bcc
parent a9a1f2b07fe8b15601b434756ba7ddb263978293
Author: lurchi <lurchi@strangeplace.net>
Date:   Thu, 24 Aug 2017 22:17:46 +0200

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.

Diffstat:
Msrc/util/scheduler.c | 4+---
1 file changed, 1 insertion(+), 3 deletions(-)

diff --git 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,