Cleanup of redundant/useless header file inclusion.
ISC style lint, primarily for function declarations and standalone
comments -- ie, those that appear on a line without any code, which
should be written as follows:
/*
* This is a comment.
*/
Tasks now terminate when
Any shutdown events have been posted
There are no references
The event queue is empty
If a task has no references and the event queue
is empty, then a shutdown will be triggered if
it hasn't been already.
allowdone and allowsend are gone
sending events can no longer fail
and its event queue is empty.
The DONEOK flag is forced to true if there are no references to a task,
its event queue is empty, and it is shutting down.
Add isc_task_unsend() and isc_task_unsendrange().
Add isc_task_sendanddetach().
Event tags are now void *.
Code cleanups.
Various shutdown bug fixes.
Make tracing messages prettier.
When isc_task_shutdown() is called, any shutdown events are posted
and the task goes into shutting down state. isc_task_onshutdown()
may no longer be called.
If the task allows transition to the done state (the default), then
as soon as the task's event queue is empty the task will enter the
done state. Once the done state has been entered, events may no
longer be posted (regardless of the allowsend state). If transition
to the done state is not allowed, then the task will continue to
exist and be able to receive events.
Moved event support to event.[ch].
The final state of a task is now called "done" not "shutdown".
Created a flags variable instead of having separate booleans.
Added isc_task_allowdone() and isc_task_purgerange().
Minor tracing fixes.
A shutdown event specification is no longer part of the
isc_task_create() API.
Multiple shutdown events can be requested with isc_task_onshutdown().
Shutdown events are posted LIFO.
The ability to send events can be enabled and disabled with
isc_task_allowsend().
Event actions return void; the only way to shutdown a task is to
call isc_task_shutdown().
There are no implicit event discards anymore. (There is no need for
them, since event actions cannot request immediate shutdown anymore.)