diff options
author | ulfvonbelow <strilen@tilde.club> | 2023-01-28 16:08:45 -0600 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2023-02-06 16:11:06 +0100 |
commit | 763335e08dd7e3feff6184879471198f5852821d (patch) | |
tree | bb834b589b5722cde1f6d12afaa60d5e7897e2af /doc | |
parent | 3f6f1fb44b6b6aa8f70e71d7a9c73ba623f8c9f7 (diff) | |
download | gnunet-763335e08dd7e3feff6184879471198f5852821d.tar.gz gnunet-763335e08dd7e3feff6184879471198f5852821d.zip |
UTIL: use dedicated marker in ready queue.
This inserts a dedicated dummy marker task at the end of the ready queue at
the start of a pass. Because this marker task isn't visible to users of the
scheduler, it can't be canceled while the pass is being run. Additionally,
switching which ready queue is being run partway through by scheduling a
higher-priority task to immediately run also places this dummy marker. This
resolves both erroneous cases by which a pass can accidentally run an
unbounded number of tasks.
This also modifies GNUNET_SCHEDULER_get_load to not be misled by this extra
dummy task, and adds the now-passing test cases to the test suite.
Signed-off-by: Christian Grothoff <christian@grothoff.org>
Diffstat (limited to 'doc')
0 files changed, 0 insertions, 0 deletions