diff --git a/lib/isc/timer.c b/lib/isc/timer.c index 65b72b882b..628b9221e2 100644 --- a/lib/isc/timer.c +++ b/lib/isc/timer.c @@ -398,8 +398,10 @@ isc__timer_create(isc_timermgr_t *manager0, isc_timertype_t type, result = schedule(timer, &now, true); else result = ISC_R_SUCCESS; - if (result == ISC_R_SUCCESS) + if (result == ISC_R_SUCCESS) { + *timerp = (isc_timer_t *)timer; APPEND(manager->timers, timer, link); + } UNLOCK(&manager->lock); @@ -412,8 +414,6 @@ isc__timer_create(isc_timermgr_t *manager0, isc_timertype_t type, return (result); } - *timerp = (isc_timer_t *)timer; - return (ISC_R_SUCCESS); }