2
0
mirror of https://gitlab.isc.org/isc-projects/bind9 synced 2025-08-23 10:39:16 +00:00

88 Commits

Author SHA1 Message Date
Mark Andrews
0d993c02ba 1250. [bug] When processing events (non-threaded) only allow
the task one chance to use to use its quantum.
2002-07-19 03:39:44 +00:00
Mark Andrews
0bd9d19281 INSIST that there are no outstanding tasks when the task manager is
about to be destroyed (non-threaded).
2002-03-29 01:25:04 +00:00
Andreas Gustafsson
91cd0f93ad sizeof style 2001-11-27 01:56:32 +00:00
David Lawrence
92ef1a9b9d use ISC_MAGIC for all magic numbers, for our friends in EBCDIC land 2001-06-04 19:33:39 +00:00
Andreas Gustafsson
02940eaf0f 736. [func] New functions isc_task_{begin,end}exclusive(). 2001-02-13 04:11:44 +00:00
Andreas Gustafsson
780db05762 use the UNUSED() macro 2001-02-09 18:27:18 +00:00
Brian Wellington
744304361c actually call isc_thread_setconcurrency() 2001-02-07 21:16:12 +00:00
Andreas Gustafsson
1964de81da UNUSED() macro added in 1.79 was in the wrong place 2001-02-07 20:05:15 +00:00
Brian Wellington
499b34cea0 copyright update 2001-01-09 22:01:04 +00:00
Andreas Gustafsson
1514371d94 added UNUSED() macro 2001-01-08 19:58:10 +00:00
David Lawrence
801dceea23 Revert my last change. It was stupid, which I if I had been thinking clearly
I would have seen *before* I commited anything.  So, include isc/thread.h,
isc/mutex.h and isc/condition.h even if ISC_PLATFORM_USETHREADS is not defined.

(What caused me to bother with this at all was a problem that I resolved
a few days ago by fixing configure ... though now that I think about it,
that probably means there is some other latent problem with inconsistent
definitions that could maybe be handled better.  I'll look into it more
later, AFTER vacation.)
2000-12-26 21:45:08 +00:00
David Lawrence
bdcae3560b Only include isc/thread.h, isc/mutex.h and isc/condition.h if
ISC_PLATFORM_USETHREADS is defined.
2000-12-26 21:12:25 +00:00
David Lawrence
9cd6d409b7 first pass at using isc_msgcat_get for message strings in libisc 2000-12-06 00:30:32 +00:00
Brian Wellington
0d89afffb2 Make sure #else and #endif for ISC_PLATFORM_USETHREADS are marked as such. 2000-09-28 21:31:08 +00:00
Brian Wellington
5a842a6fc3 The non-threaded version does a better job avoiding starvation. 2000-08-30 23:47:16 +00:00
Brian Wellington
8dd5562555 #include <isc/platform.h> 2000-08-29 22:55:57 +00:00
Brian Wellington
3be0a4382d ALlow the task manager to run without threads. This doesn't handle fairness
too well.
2000-08-29 22:30:14 +00:00
Brian Wellington
a44038277a MOre calls to DESTROYLOCK 2000-08-26 01:31:56 +00:00
Andreas Gustafsson
eb5670ecd2 send task trace output to stderr, not stdout, so that
it gets buffered synchronously with logging output sent to stderr
2000-08-24 01:40:46 +00:00
David Lawrence
40f53fa8d9 Trailing whitespace trimmed. Perhaps running "perl util/spacewhack.pl in your
own CVS tree will help minimize CVS conflicts.  Maybe not.
Blame Graff for getting me to trim all trailing whitespace.
2000-08-01 01:33:37 +00:00
Brian Wellington
677045ed61 356. [cleanup] isc_task_send no longer requires event->sender to
be non-null.
2000-07-27 22:24:54 +00:00
David Lawrence
15a4474541 word wrap copyright notice at column 70 2000-07-27 09:55:03 +00:00
Andreas Gustafsson
97684ed87d new functions isc_task_getname() and isc_task_gettag(),
to be used for debugging
2000-07-26 17:11:14 +00:00
David Lawrence
9c3531d72a add RCS id string 2000-06-22 22:00:42 +00:00
David Lawrence
49dbdb0186 update_copyrights 2000-06-21 22:05:07 +00:00
David Lawrence
87cafc5e70 Megacommit of many files.
Mostly, several functions that take pointers as arguments, almost
always char * pointers, had those pointers qualified with "const".
Those that returned pointers to previously const-qualified arguments
had their return values qualified as const.  Some structure members
were qualified as const to retain that attribute from the variables
from which they were assigned.

The macro DE_CONST was added to isc/util.h to deal with a handful of very
special places where something is qualified as const but really needs to have
its const qualifier removed.

Also cleaned up a few places where variable names clashed with reserved
identifiers.  (Which mostly works fine, but strictly speaking is undefined
by the standard.)

Minor other ISC style cleanups.
2000-06-01 17:20:56 +00:00
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