diff options
author | Schanzenbach, Martin <martin.schanzenbach@aisec.fraunhofer.de> | 2018-01-10 04:29:06 +0100 |
---|---|---|
committer | Schanzenbach, Martin <martin.schanzenbach@aisec.fraunhofer.de> | 2018-01-10 04:29:06 +0100 |
commit | 16f04cf4fb1a7b489b3672d19818ffd1fd8d57f1 (patch) | |
tree | ad5072542ecfe966caa3e1927e90e81b103c3d35 /src/util/scheduler.c | |
parent | 5e233bcb4b48593af84c551738369fe89bc77251 (diff) | |
download | gnunet-16f04cf4fb1a7b489b3672d19818ffd1fd8d57f1.tar.gz gnunet-16f04cf4fb1a7b489b3672d19818ffd1fd8d57f1.zip |
fix scheduler when add_select is called with 0 ready fds
Diffstat (limited to 'src/util/scheduler.c')
-rw-r--r-- | src/util/scheduler.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/util/scheduler.c b/src/util/scheduler.c index 9d37231e7..c2061b50f 100644 --- a/src/util/scheduler.c +++ b/src/util/scheduler.c | |||
@@ -2006,7 +2006,7 @@ GNUNET_SCHEDULER_run_from_driver (struct GNUNET_SCHEDULER_Handle *sh) | |||
2006 | if (GNUNET_OK != del_result) | 2006 | if (GNUNET_OK != del_result) |
2007 | { | 2007 | { |
2008 | LOG (GNUNET_ERROR_TYPE_ERROR, | 2008 | LOG (GNUNET_ERROR_TYPE_ERROR, |
2009 | "driver could not delete task\n"); | 2009 | "driver could not delete task %p\n", pos); |
2010 | GNUNET_assert (0); | 2010 | GNUNET_assert (0); |
2011 | } | 2011 | } |
2012 | } | 2012 | } |
@@ -2187,6 +2187,8 @@ select_del (void *cls, | |||
2187 | context = cls; | 2187 | context = cls; |
2188 | ret = GNUNET_SYSERR; | 2188 | ret = GNUNET_SYSERR; |
2189 | pos = context->scheduled_head; | 2189 | pos = context->scheduled_head; |
2190 | if (0 == task->fds_len) | ||
2191 | return GNUNET_OK; | ||
2190 | while (NULL != pos) | 2192 | while (NULL != pos) |
2191 | { | 2193 | { |
2192 | struct Scheduled *next = pos->next; | 2194 | struct Scheduled *next = pos->next; |