From 00abfda448de65efcf199fcd873532bb52f69b68 Mon Sep 17 00:00:00 2001 From: Bob Halley Date: Sun, 13 Dec 1998 02:01:01 +0000 Subject: [PATCH] convert to util.h; set magic only on success --- lib/isc/task.c | 29 ++--------------------------- 1 file changed, 2 insertions(+), 27 deletions(-) diff --git a/lib/isc/task.c b/lib/isc/task.c index b230fae1b0..15d78865aa 100644 --- a/lib/isc/task.c +++ b/lib/isc/task.c @@ -25,32 +25,7 @@ #include #include - -/*** - *** General Macros. - ***/ - -/* - * We use macros instead of calling the routines directly because - * the capital letters make the locking stand out. - * - * We INSIST that they succeed since there's no way for us to continue - * if they fail. - */ - -#define LOCK(lp) \ - INSIST(isc_mutex_lock((lp)) == ISC_R_SUCCESS); -#define UNLOCK(lp) \ - INSIST(isc_mutex_unlock((lp)) == ISC_R_SUCCESS); -#define BROADCAST(cvp) \ - INSIST(isc_condition_broadcast((cvp)) == ISC_R_SUCCESS); -#define SIGNAL(cvp) \ - INSIST(isc_condition_signal((cvp)) == ISC_R_SUCCESS); -#define WAIT(cvp, lp) \ - INSIST(isc_condition_wait((cvp), (lp)) == ISC_R_SUCCESS); -#define WAITUNTIL(cvp, lp, tp, bp) \ - INSIST(isc_condition_waituntil((cvp), (lp), (tp), (bp)) == \ - ISC_R_SUCCESS); +#include "util.h" #ifdef ISC_TASK_TRACE #define XTRACE(m) printf("%s task %p thread %lu\n", (m), \ @@ -208,7 +183,6 @@ isc_task_create(isc_taskmgr_t manager, isc_taskaction_t shutdown_action, if (task == NULL) return (ISC_R_NOMEMORY); - task->magic = TASK_MAGIC; task->manager = manager; if (isc_mutex_init(&task->lock) != ISC_R_SUCCESS) { isc_mem_put(manager->mctx, task, sizeof *task); @@ -241,6 +215,7 @@ isc_task_create(isc_taskmgr_t manager, isc_taskaction_t shutdown_action, APPEND(manager->tasks, task, link); UNLOCK(&manager->lock); + task->magic = TASK_MAGIC; *taskp = task; return (ISC_R_SUCCESS);