diff options
Diffstat (limited to 'src/util/scheduler.c')
-rw-r--r-- | src/util/scheduler.c | 47 |
1 files changed, 25 insertions, 22 deletions
diff --git a/src/util/scheduler.c b/src/util/scheduler.c index b96e4e6c4..fecbc0de5 100644 --- a/src/util/scheduler.c +++ b/src/util/scheduler.c | |||
@@ -513,14 +513,14 @@ static void | |||
513 | dump_backtrace (struct GNUNET_SCHEDULER_Task *t) | 513 | dump_backtrace (struct GNUNET_SCHEDULER_Task *t) |
514 | { | 514 | { |
515 | #if EXECINFO | 515 | #if EXECINFO |
516 | unsigned int i; | 516 | for (unsigned int i = 0; i < t->num_backtrace_strings; i++) |
517 | |||
518 | for (i = 0; i < t->num_backtrace_strings; i++) | ||
519 | LOG (GNUNET_ERROR_TYPE_WARNING, | 517 | LOG (GNUNET_ERROR_TYPE_WARNING, |
520 | "Task %p trace %u: %s\n", | 518 | "Task %p trace %u: %s\n", |
521 | t, | 519 | t, |
522 | i, | 520 | i, |
523 | t->backtrace_strings[i]); | 521 | t->backtrace_strings[i]); |
522 | #else | ||
523 | (void) t; | ||
524 | #endif | 524 | #endif |
525 | } | 525 | } |
526 | 526 | ||
@@ -847,20 +847,19 @@ init_fd_info (struct GNUNET_SCHEDULER_Task *t, | |||
847 | * @param et the event type to be set in each FdInfo after calling | 847 | * @param et the event type to be set in each FdInfo after calling |
848 | * @a driver_func on it, or -1 if no updating not desired. | 848 | * @a driver_func on it, or -1 if no updating not desired. |
849 | */ | 849 | */ |
850 | void driver_add_multiple (struct GNUNET_SCHEDULER_Task *t, | 850 | static void |
851 | enum GNUNET_SCHEDULER_EventType et) | 851 | driver_add_multiple (struct GNUNET_SCHEDULER_Task *t) |
852 | { | 852 | { |
853 | struct GNUNET_SCHEDULER_FdInfo *fdi; | 853 | struct GNUNET_SCHEDULER_FdInfo *fdi; |
854 | int success = GNUNET_YES; | 854 | int success = GNUNET_YES; |
855 | 855 | ||
856 | for (int i = 0; i != t->fds_len; ++i) | 856 | for (unsigned int i = 0; i != t->fds_len; ++i) |
857 | { | 857 | { |
858 | fdi = &t->fds[i]; | 858 | fdi = &t->fds[i]; |
859 | success = scheduler_driver->add (scheduler_driver->cls, t, fdi) && success; | 859 | success = scheduler_driver->add (scheduler_driver->cls, |
860 | if (et != -1) | 860 | t, |
861 | { | 861 | fdi) && success; |
862 | fdi->et = et; | 862 | fdi->et = GNUNET_SCHEDULER_ET_NONE; |
863 | } | ||
864 | } | 863 | } |
865 | if (GNUNET_YES != success) | 864 | if (GNUNET_YES != success) |
866 | { | 865 | { |
@@ -870,12 +869,13 @@ void driver_add_multiple (struct GNUNET_SCHEDULER_Task *t, | |||
870 | } | 869 | } |
871 | 870 | ||
872 | 871 | ||
873 | void | 872 | static void |
874 | shutdown_cb (void *cls) | 873 | shutdown_cb (void *cls) |
875 | { | 874 | { |
876 | char c; | 875 | char c; |
877 | const struct GNUNET_DISK_FileHandle *pr; | 876 | const struct GNUNET_DISK_FileHandle *pr; |
878 | 877 | ||
878 | (void) cls; | ||
879 | pr = GNUNET_DISK_pipe_handle (shutdown_pipe_handle, | 879 | pr = GNUNET_DISK_pipe_handle (shutdown_pipe_handle, |
880 | GNUNET_DISK_PIPE_END_READ); | 880 | GNUNET_DISK_PIPE_END_READ); |
881 | GNUNET_assert (! GNUNET_DISK_handle_invalid (pr)); | 881 | GNUNET_assert (! GNUNET_DISK_handle_invalid (pr)); |
@@ -975,6 +975,8 @@ init_backtrace (struct GNUNET_SCHEDULER_Task *t) | |||
975 | backtrace_symbols (backtrace_array, | 975 | backtrace_symbols (backtrace_array, |
976 | t->num_backtrace_strings); | 976 | t->num_backtrace_strings); |
977 | dump_backtrace (t); | 977 | dump_backtrace (t); |
978 | #else | ||
979 | (void) t; | ||
978 | #endif | 980 | #endif |
979 | } | 981 | } |
980 | 982 | ||
@@ -1375,7 +1377,7 @@ add_without_sets (struct GNUNET_TIME_Relative delay, | |||
1375 | GNUNET_CONTAINER_DLL_insert (pending_head, | 1377 | GNUNET_CONTAINER_DLL_insert (pending_head, |
1376 | pending_tail, | 1378 | pending_tail, |
1377 | t); | 1379 | t); |
1378 | driver_add_multiple (t, GNUNET_SCHEDULER_ET_NONE); | 1380 | driver_add_multiple (t); |
1379 | max_priority_added = GNUNET_MAX (max_priority_added, | 1381 | max_priority_added = GNUNET_MAX (max_priority_added, |
1380 | t->priority); | 1382 | t->priority); |
1381 | init_backtrace (t); | 1383 | init_backtrace (t); |
@@ -1664,14 +1666,15 @@ extract_handles (struct GNUNET_SCHEDULER_Task *t, | |||
1664 | // in fdset must be handled separately | 1666 | // in fdset must be handled separately |
1665 | const struct GNUNET_NETWORK_Handle **nhandles; | 1667 | const struct GNUNET_NETWORK_Handle **nhandles; |
1666 | const struct GNUNET_DISK_FileHandle **fhandles; | 1668 | const struct GNUNET_DISK_FileHandle **fhandles; |
1667 | unsigned int nhandles_len, fhandles_len; | 1669 | unsigned int nhandles_len; |
1668 | int sock; | 1670 | unsigned int fhandles_len; |
1669 | 1671 | ||
1672 | (void) t; | ||
1670 | nhandles = NULL; | 1673 | nhandles = NULL; |
1671 | fhandles = NULL; | 1674 | fhandles = NULL; |
1672 | nhandles_len = 0; | 1675 | nhandles_len = 0; |
1673 | fhandles_len = 0; | 1676 | fhandles_len = 0; |
1674 | for (sock = 0; sock != fdset->nsds; ++sock) | 1677 | for (int sock = 0; sock != fdset->nsds; ++sock) |
1675 | { | 1678 | { |
1676 | if (GNUNET_YES == GNUNET_NETWORK_fdset_test_native (fdset, sock)) | 1679 | if (GNUNET_YES == GNUNET_NETWORK_fdset_test_native (fdset, sock)) |
1677 | { | 1680 | { |
@@ -1816,7 +1819,7 @@ GNUNET_SCHEDULER_add_select (enum GNUNET_SCHEDULER_Priority prio, | |||
1816 | GNUNET_CONTAINER_DLL_insert (pending_head, | 1819 | GNUNET_CONTAINER_DLL_insert (pending_head, |
1817 | pending_tail, | 1820 | pending_tail, |
1818 | t); | 1821 | t); |
1819 | driver_add_multiple (t, GNUNET_SCHEDULER_ET_NONE); | 1822 | driver_add_multiple (t); |
1820 | max_priority_added = GNUNET_MAX (max_priority_added, | 1823 | max_priority_added = GNUNET_MAX (max_priority_added, |
1821 | t->priority); | 1824 | t->priority); |
1822 | LOG (GNUNET_ERROR_TYPE_DEBUG, | 1825 | LOG (GNUNET_ERROR_TYPE_DEBUG, |
@@ -1969,7 +1972,7 @@ GNUNET_SCHEDULER_run_from_driver (struct GNUNET_SCHEDULER_Handle *sh) | |||
1969 | // FIXME: do we have to remove FdInfos from fds if they are not ready? | 1972 | // FIXME: do we have to remove FdInfos from fds if they are not ready? |
1970 | tc.fds_len = pos->fds_len; | 1973 | tc.fds_len = pos->fds_len; |
1971 | tc.fds = pos->fds; | 1974 | tc.fds = pos->fds; |
1972 | for (int i = 0; i != pos->fds_len; ++i) | 1975 | for (unsigned int i = 0; i != pos->fds_len; ++i) |
1973 | { | 1976 | { |
1974 | struct GNUNET_SCHEDULER_FdInfo *fdi = &pos->fds[i]; | 1977 | struct GNUNET_SCHEDULER_FdInfo *fdi = &pos->fds[i]; |
1975 | if (0 != (GNUNET_SCHEDULER_ET_IN & fdi->et)) | 1978 | if (0 != (GNUNET_SCHEDULER_ET_IN & fdi->et)) |