2
0
mirror of https://gitlab.isc.org/isc-projects/bind9 synced 2025-08-23 18:49:54 +00:00

62 Commits

Author SHA1 Message Date
David Lawrence
1a69a1a78c Megacommit of dozens of files.
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.
    */
2000-05-08 14:38:29 +00:00
David Lawrence
fc9e755ba3 <isc/task.h> does not need <isc/mem.h> or <isc/result.h>. 2000-04-28 04:26:08 +00:00
Mark Andrews
9069fc6030 Cleanup unused mctx.
memset task->name.
2000-04-18 09:05:16 +00:00
Michael Graff
e44487bfc2 convert sender, arg, action, etc. to ev_sender, ev_arg, ev_action, etc. 2000-04-17 19:22:44 +00:00
Bob Halley
64b1a68e10 isc_task_create() no longer takes an mctx.
isc_task_mem() has been eliminated.
Use memory context reference counting.
2000-04-12 01:34:16 +00:00
Bob Halley
ca41b452ed update copyrights 2000-02-03 23:08:31 +00:00
Bob Halley
a790a11730 allow tasks to be named and tagged 2000-01-25 19:25:20 +00:00
Bob Halley
e0d8e8073f If creating a task and the manager is exiting, return ISC_R_SHUTTINGDOWN 2000-01-17 23:41:33 +00:00
Michael Graff
440be4c866 move util.h to <isc/util.h> 1999-12-16 22:24:22 +00:00
Bob Halley
3bff571ab2 Simply task API:
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
1999-09-23 21:30:26 +00:00
Michael Graff
0d3119d4d1 Generalize ISC_R_TASKSHUTTINGDOWN to ISC_R_SHUTTINGDOWN 1999-07-14 22:15:29 +00:00
Bob Halley
ad555ae689 Shutdown now implicitly occurs if there are no references to a task
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.
1999-07-10 01:00:05 +00:00
Bob Halley
07697f1c52 tagged event support 1999-06-15 23:18:18 +00:00
Bob Halley
0941b4e809 add isc_task_purgeevent 1999-06-12 01:10:32 +00:00
Bob Halley
3f8744a28f support for unpurgable events 1999-06-09 23:25:50 +00:00
Bob Halley
ff1a344725 add more comments and a few missing REQUIREs 1999-05-18 19:23:13 +00:00
Bob Halley
4f39360a7f Shutdown of a task now works as follows:
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.
1999-05-10 23:00:30 +00:00
Bob Halley
6d356e35c6 add author info 1999-04-01 03:59:27 +00:00
Bob Halley
8bdb4ab2d1 only UNLOCK and then LOCK if actually sending an event 1999-04-01 01:09:28 +00:00
Bob Halley
9b8123723a add comment 1999-03-09 22:50:13 +00:00
Bob Halley
a823c4f11a requirement update 1999-03-07 19:21:49 +00:00
Bob Halley
bae7090755 Forgot to convert from manager->mctx to task->mctx in task_free(). 1999-01-14 20:18:31 +00:00
Bob Halley
6a50a5b6dc per task mctx 1999-01-14 20:03:54 +00:00
Bob Halley
8dcce6f922 change memctx to mem 1998-12-18 19:14:37 +00:00
Bob Halley
8e93971d17 initialize all common event fields 1998-12-18 02:28:12 +00:00
Bob Halley
131b0092c6 Improvements to the task shutdown process:
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.)
1998-12-16 02:02:10 +00:00
Bob Halley
3740b569ae the great type change 1998-12-13 23:45:21 +00:00
Bob Halley
00abfda448 convert to util.h; set magic only on success 1998-12-13 02:01:01 +00:00
Bob Halley
1633838b82 update copyrights 1998-12-12 20:48:14 +00:00
Bob Halley
d25afd60ee include config.h 1998-12-12 19:25:20 +00:00
Bob Halley
6792dd6d22 conforming changes for new pool 1998-12-11 20:38:46 +00:00
Bob Halley
da4242bf62 replace unexpect.[ch] and fatal.[ch] with error.[ch] 1998-12-04 20:00:26 +00:00
Michael Graff
59b2e9c361 add ISC_R_TASKSHUTDOWN and use it in isc_task_send() 1998-11-10 20:57:32 +00:00
Michael Graff
a609982aa7 Small change to the isc_task_send() function: return ISC_R_SUCCESS if the
event was queued, return ISC_R_NORESOURCES if not.  The error return
needs to be something different.
1998-11-10 11:39:13 +00:00
Michael Graff
1edb223dd3 return the number of items purged 1998-11-06 01:44:44 +00:00
Bob Halley
5741be0b80 add event destructor 1998-11-03 19:05:12 +00:00
Bob Halley
b32248301c the event action is now responsible for freeing the event memory 1998-10-28 01:45:43 +00:00
Bob Halley
7c93964aaf use isc_thread_join() to wait for workers to exit 1998-10-23 23:50:15 +00:00
Bob Halley
3ce87f4ed9 conditional WINAPI for run() 1998-10-23 22:59:02 +00:00
Bob Halley
6052dab738 update 1998-10-23 05:45:26 +00:00
Bob Halley
f191e3b4e8 Switch from BROADCAST to SIGNAL in many cases; hold lock while doing either. 1998-10-22 19:23:26 +00:00
Bob Halley
bf6d2e3912 more renaming 1998-10-22 01:33:20 +00:00
Bob Halley
de9282a1ea rename memcluster 1998-10-21 22:01:08 +00:00
Bob Halley
c92ba07101 more renaming 1998-10-21 02:26:57 +00:00
Bob Halley
f47bb8d1f3 many name conversions 1998-10-21 01:13:50 +00:00
Bob Halley
0c7c25a1c6 checkpoint 1998-10-20 00:52:19 +00:00
Bob Halley
918bae0f4b update 1998-10-16 21:41:30 +00:00
Bob Halley
18cc70d001 move some includes from task.h to task.c 1998-10-14 18:56:13 +00:00
Bob Halley
232548d5d7 add event purging 1998-10-13 20:22:22 +00:00
Bob Halley
8f9001ec65 remove one more remnant 1998-09-16 21:41:10 +00:00