aboutsummaryrefslogtreecommitdiff
path: root/src/util/scheduler.c
Commit message (Collapse)AuthorAge
* paragraph for gnunet devs that don't know how to use the webpsyc://loupsycedyglgamf.onion/~lynX2018-06-07
|
* glitch in the license text detected by hyazinthe, thank you!psyc://loupsycedyglgamf.onion/~lynX2018-06-07
|
* first batch of license fixes (boring)psyc://loupsycedyglgamf.onion/~lynX2018-06-05
|
* make some functions static, ensure shutdown tasks could be run repeatedly if ↵Christian Grothoff2018-03-31
| | | | 1st shutdown did not finish the process
* disable debug instrumentation againChristian Grothoff2018-03-08
|
* better error reporting from schedulerChristian Grothoff2018-03-08
|
* fix loggingChristian Grothoff2018-03-03
|
* fix newline, reduce verbosityChristian Grothoff2018-03-03
|
* improve documentationlurchi2018-02-01
|
* scheduler API change to allow use with js event looplurchi2018-02-01
| | | | | | | | | - GNUNET_SCHEDUELR_run_with_driver has been replaced with GNUNET_SCHEDULER_driver_init and GNUNET_SCHEDUELR_driver_done - GNUNET_SCHEDULER_run_from_driver has been renamed to GNUNET_SCHEDULER_do_work (as it's no longer being called from a driver callback) - documentation has been updated
* really make GNUNET_SCHEDULER_run_from_driver more graceful (must have been late)lurchi2018-01-27
|
* make GNUNET_SCHEDULER_run_from_driver more gracefullurchi2018-01-24
| | | | | | | GNUNET_SCHEDULER_run_from_driver may now be called without any tasks being ready if the timeout has not been reached yet. A warning is printed because it may be a programming error in the driver (see comments)
* catch early return of select before call to GNUNET_SCHEDULER_run_from_driverlurchi2018-01-23
|
* Revert "add assertion for debugging"lurchi2018-01-23
| | | | This reverts commit d45c008e677fa2fbff03e22745390d4775b031d2.
* add assertion for debugginglurchi2018-01-23
|
* remove unnecessary checklurchi2018-01-22
| | | | The reason field of tasks in the pending_timeout queue is never modified while the tasks are in the queue
* use absolute times in driverlurchi2018-01-22
| | | | this shouldn't change anything but makes debugging easier.
* indentation fixesChristian Grothoff2018-01-21
|
* check if no tasks are left after the driver looplurchi2018-01-21
| | | | | | - add assertions to make sure all tasks have been run or cancelled - don't cancel all pending tasks during shutdown, only cancel the two internal tasks scheduled in GNUNET_SCHEDULER_run_with_driver
* fix loop responsible for finding tasks with expired timeoutlurchi2018-01-18
|
* always check priority given by userslurchi2018-01-17
|
* return now if we found a task that is ready (optimization)lurchi2018-01-16
|
* only check fdsets when select selected something (optimization)lurchi2018-01-16
|
* Revert "call GNUNET_abort_ directly for debugging purposes"lurchi2018-01-16
| | | | This reverts commit 5c4ae18d2e58c8bf3ba60a4f69251e304fbb9915.
* call GNUNET_abort_ directly for debugging purposeslurchi2018-01-16
|
* remove duplicate timeout checklurchi2018-01-16
| | | | | There's no need of checking for timeouts in GNUNET_SCHEDULER_task_ready, as the check is done in GNUNET_SCHEDULER_run_from_driver.
* remove unused variableslurchi2018-01-15
|
* gracefully accept empty FD set that claim to contain FDslurchi2018-01-10
|
* properly detect calling add_select without descriptors; simplify extract_handleslurchi2018-01-10
|
* fix scheduler when add_select is called with 0 ready fdsSchanzenbach, Martin2018-01-10
|
* fix dereferencing uninitialized rs/ws; assert non-NULL before dereferencing ↵lurchi2018-01-07
| | | | network/file handles
* Revert "fix dereferencing uninitialized pointer"lurchi2018-01-07
| | | | This reverts commit 201a67be13ae31b4eb7fb8ad38b349fe287c0baf.
* fix dereferencing uninitialized pointerlurchi2018-01-06
|
* simplify driver_add_multiplelurchi2018-01-04
|
* fix misc compiler warningsChristian Grothoff2018-01-04
|
* fix more warningsChristian Grothoff2018-01-04
|
* Fix memory leak in select_loopDavid Barksdale2018-01-01
|
* cleanuplurchi2017-09-04
|
* Fix select loop running conditionslurchi2017-09-04
| | | | | | | The select loop has to keep running as long as the driver has tasks available (indicating that there are file descriptors left to wait for) or the timeout is not FOREVER (indicating that the scheduler has tasks with timeout left).
* handles, not handlerslurchi2017-09-04
|
* remove scheduler->internal code from driver looplurchi2017-09-04
|
* Remove busy waiting checkslurchi2017-09-04
| | | | | | | | | | | Busy waiting should never happen (at least the shutdown pipe is always there for the driver to wait for). When busy waiting happens, i.e. GNUNET_SCHEDULER_run_from_driver is called without any task ready, it is a programming error (at least I don't know any valid use case for busy waiting). Hence, remove the busy waiting checks and let GNUNET_SCHEDULER_run_from_driver return GNUNET_SYSERR instead in this case.
* clarify documentation about adding / deleting taskslurchi2017-08-25
|
* Simplify driver callback del; fix shutdown logiclurchi2017-08-25
| | | | | | | | | The driver callback for deleting a task has been simplified: Now it is only possible to delete a task, not single FdInfos. A logic bug in GNUNET_SCHEDULER_cancel has been fixed (FD-related tasks need to be deleted from the driver, when they are already in the ready queue).
* fix behaviour of GNUNET_SCHEDULER_add_select on empty fdsetslurchi2017-08-24
| | | | | | 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.
* NULL-initialize array pointerslurchi2017-08-24
|
* cleanuplurchi2017-08-23
|
* GNUNET_SCHEDULER_check_lifeness not needed anymorelurchi2017-08-23
|
* tasks in the pending queue must be be checked for reached timeouts, too; ↵lurchi2017-08-23
| | | | allow multiple event types per FdInfo
* only allocate network / file handles and store them in the task when ↵lurchi2017-08-21
| | | | GNUNET_SCHEDULER_add_select is used