3150. [func] Improved startup and reconfiguration time by

enabling zones to load in multiple threads. [RT #25333]
This commit is contained in:
Evan Hunt
2011-09-02 21:15:39 +00:00
parent 541dd4d80f
commit 8a2ab2b920
37 changed files with 1873 additions and 177 deletions

View File

@@ -14,7 +14,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: task_api.c,v 1.7 2010/12/22 23:46:59 tbox Exp $ */
/* $Id: task_api.c,v 1.8 2011/09/02 21:15:38 each Exp $ */
#include <config.h>
@@ -99,6 +99,20 @@ isc_taskmgr_destroy(isc_taskmgr_t **managerp) {
ENSURE(*managerp == NULL);
}
void
isc_taskmgr_setmode(isc_taskmgr_t *manager, isc_taskmgrmode_t mode) {
REQUIRE(ISCAPI_TASKMGR_VALID(manager));
manager->methods->setmode(manager, mode);
}
isc_taskmgrmode_t
isc_taskmgr_mode(isc_taskmgr_t *manager) {
REQUIRE(ISCAPI_TASKMGR_VALID(manager));
return (manager->methods->mode(manager));
}
isc_result_t
isc_task_create(isc_taskmgr_t *manager, unsigned int quantum,
isc_task_t **taskp)
@@ -201,6 +215,20 @@ isc_task_endexclusive(isc_task_t *task) {
task->methods->endexclusive(task);
}
void
isc_task_setprivilege(isc_task_t *task, isc_boolean_t priv) {
REQUIRE(ISCAPI_TASK_VALID(task));
task->methods->setprivilege(task, priv);
}
isc_boolean_t
isc_task_privilege(isc_task_t *task) {
REQUIRE(ISCAPI_TASK_VALID(task));
return (task->methods->privilege(task));
}
/*%
* This is necessary for libisc's internal timer implementation. Other