mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-31 06:25:31 +00:00
delay assignment until after REQUIRE
This commit is contained in:
committed by
Ondřej Surý
parent
f17b9b8dd1
commit
c65c06301c
@@ -239,7 +239,11 @@ isc_timer_create(isc_timermgr_t *manager0, isc_timertype_t type,
|
|||||||
isc_task_t *task, isc_taskaction_t action, void *arg,
|
isc_task_t *task, isc_taskaction_t action, void *arg,
|
||||||
isc_timer_t **timerp)
|
isc_timer_t **timerp)
|
||||||
{
|
{
|
||||||
isc__timermgr_t *manager = (isc__timermgr_t *)manager0;
|
REQUIRE(VALID_MANAGER(manager0));
|
||||||
|
REQUIRE(task != NULL);
|
||||||
|
REQUIRE(action != NULL);
|
||||||
|
|
||||||
|
isc__timermgr_t *manager;
|
||||||
isc__timer_t *timer;
|
isc__timer_t *timer;
|
||||||
isc_result_t result;
|
isc_result_t result;
|
||||||
isc_time_t now;
|
isc_time_t now;
|
||||||
@@ -251,10 +255,7 @@ isc_timer_create(isc_timermgr_t *manager0, isc_timertype_t type,
|
|||||||
* called with 'arg' as the arg value. The new timer is returned
|
* called with 'arg' as the arg value. The new timer is returned
|
||||||
* in 'timerp'.
|
* in 'timerp'.
|
||||||
*/
|
*/
|
||||||
|
manager = (isc__timermgr_t *)manager0;
|
||||||
REQUIRE(VALID_MANAGER(manager));
|
|
||||||
REQUIRE(task != NULL);
|
|
||||||
REQUIRE(action != NULL);
|
|
||||||
if (expires == NULL)
|
if (expires == NULL)
|
||||||
expires = isc_time_epoch;
|
expires = isc_time_epoch;
|
||||||
if (interval == NULL)
|
if (interval == NULL)
|
||||||
@@ -352,7 +353,7 @@ isc_timer_reset(isc_timer_t *timer0, isc_timertype_t type,
|
|||||||
const isc_time_t *expires, const isc_interval_t *interval,
|
const isc_time_t *expires, const isc_interval_t *interval,
|
||||||
bool purge)
|
bool purge)
|
||||||
{
|
{
|
||||||
isc__timer_t *timer = (isc__timer_t *)timer0;
|
isc__timer_t *timer;
|
||||||
isc_time_t now;
|
isc_time_t now;
|
||||||
isc__timermgr_t *manager;
|
isc__timermgr_t *manager;
|
||||||
isc_result_t result;
|
isc_result_t result;
|
||||||
@@ -363,7 +364,8 @@ isc_timer_reset(isc_timer_t *timer0, isc_timertype_t type,
|
|||||||
* are purged from its task's event queue.
|
* are purged from its task's event queue.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
REQUIRE(VALID_TIMER(timer));
|
REQUIRE(VALID_TIMER(timer0));
|
||||||
|
timer = (isc__timer_t *)timer0;
|
||||||
manager = timer->manager;
|
manager = timer->manager;
|
||||||
REQUIRE(VALID_MANAGER(manager));
|
REQUIRE(VALID_MANAGER(manager));
|
||||||
|
|
||||||
@@ -425,10 +427,11 @@ isc_timer_reset(isc_timer_t *timer0, isc_timertype_t type,
|
|||||||
|
|
||||||
isc_timertype_t
|
isc_timertype_t
|
||||||
isc_timer_gettype(isc_timer_t *timer0) {
|
isc_timer_gettype(isc_timer_t *timer0) {
|
||||||
isc__timer_t *timer = (isc__timer_t *)timer0;
|
isc__timer_t *timer;
|
||||||
isc_timertype_t t;
|
isc_timertype_t t;
|
||||||
|
|
||||||
REQUIRE(VALID_TIMER(timer));
|
REQUIRE(VALID_TIMER(timer0));
|
||||||
|
timer = (isc__timer_t *)timer0;
|
||||||
|
|
||||||
LOCK(&timer->lock);
|
LOCK(&timer->lock);
|
||||||
t = timer->type;
|
t = timer->type;
|
||||||
@@ -439,7 +442,7 @@ isc_timer_gettype(isc_timer_t *timer0) {
|
|||||||
|
|
||||||
isc_result_t
|
isc_result_t
|
||||||
isc_timer_touch(isc_timer_t *timer0) {
|
isc_timer_touch(isc_timer_t *timer0) {
|
||||||
isc__timer_t *timer = (isc__timer_t *)timer0;
|
isc__timer_t *timer;
|
||||||
isc_result_t result;
|
isc_result_t result;
|
||||||
isc_time_t now;
|
isc_time_t now;
|
||||||
|
|
||||||
@@ -447,7 +450,8 @@ isc_timer_touch(isc_timer_t *timer0) {
|
|||||||
* Set the last-touched time of 'timer' to the current time.
|
* Set the last-touched time of 'timer' to the current time.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
REQUIRE(VALID_TIMER(timer));
|
REQUIRE(VALID_TIMER(timer0));
|
||||||
|
timer = (isc__timer_t *)timer0;
|
||||||
|
|
||||||
LOCK(&timer->lock);
|
LOCK(&timer->lock);
|
||||||
|
|
||||||
@@ -470,13 +474,14 @@ isc_timer_touch(isc_timer_t *timer0) {
|
|||||||
|
|
||||||
void
|
void
|
||||||
isc_timer_attach(isc_timer_t *timer0, isc_timer_t **timerp) {
|
isc_timer_attach(isc_timer_t *timer0, isc_timer_t **timerp) {
|
||||||
isc__timer_t *timer = (isc__timer_t *)timer0;
|
isc__timer_t *timer;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Attach *timerp to timer.
|
* Attach *timerp to timer.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
REQUIRE(VALID_TIMER(timer));
|
REQUIRE(VALID_TIMER(timer0));
|
||||||
|
timer = (isc__timer_t *)timer0;
|
||||||
REQUIRE(timerp != NULL && *timerp == NULL);
|
REQUIRE(timerp != NULL && *timerp == NULL);
|
||||||
isc_refcount_increment(&timer->references);
|
isc_refcount_increment(&timer->references);
|
||||||
|
|
||||||
@@ -661,8 +666,8 @@ static void
|
|||||||
set_index(void *what, unsigned int index) {
|
set_index(void *what, unsigned int index) {
|
||||||
isc__timer_t *timer;
|
isc__timer_t *timer;
|
||||||
|
|
||||||
|
REQUIRE(VALID_TIMER(what));
|
||||||
timer = what;
|
timer = what;
|
||||||
REQUIRE(VALID_TIMER(timer));
|
|
||||||
|
|
||||||
timer->index = index;
|
timer->index = index;
|
||||||
}
|
}
|
||||||
@@ -707,9 +712,10 @@ isc_timermgr_create(isc_mem_t *mctx, isc_timermgr_t **managerp) {
|
|||||||
|
|
||||||
void
|
void
|
||||||
isc_timermgr_poke(isc_timermgr_t *manager0) {
|
isc_timermgr_poke(isc_timermgr_t *manager0) {
|
||||||
isc__timermgr_t *manager = (isc__timermgr_t *)manager0;
|
isc__timermgr_t *manager;
|
||||||
|
|
||||||
REQUIRE(VALID_MANAGER(manager));
|
REQUIRE(VALID_MANAGER(manager0));
|
||||||
|
manager = (isc__timermgr_t *)manager0;
|
||||||
|
|
||||||
SIGNAL(&manager->wakeup);
|
SIGNAL(&manager->wakeup);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user