0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews * Copyright (C) 1998-2001, 2004, 2007, 2013-2016 Internet Systems Consortium, Inc. ("ISC")
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews * This Source Code Form is subject to the terms of the Mozilla Public
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews * License, v. 2.0. If a copy of the MPL was not distributed with this
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews * file, You can obtain one at http://mozilla.org/MPL/2.0/.
1d92d8a2456b23842a649b6104c60a9d6ea25333Brian Wellington/* $Id: timer_test.c,v 1.40 2007/06/19 23:46:59 tbox Exp $ */
1d92d8a2456b23842a649b6104c60a9d6ea25333Brian Wellingtonshutdown_task(isc_task_t *task, isc_event_t *event) {
1d92d8a2456b23842a649b6104c60a9d6ea25333Brian Wellington printf("task %p shutdown %s\n", task, name);
1d92d8a2456b23842a649b6104c60a9d6ea25333Brian Wellingtontick(isc_task_t *task, isc_event_t *event) {
1d92d8a2456b23842a649b6104c60a9d6ea25333Brian Wellington INSIST(event->ev_type == ISC_TIMEREVENT_TICK);
1d92d8a2456b23842a649b6104c60a9d6ea25333Brian Wellington (void)isc_time_nowplusinterval(&expires, &interval);
1d92d8a2456b23842a649b6104c60a9d6ea25333Brian Wellington RUNTIME_CHECK(isc_timer_reset(ti3, isc_timertype_once,
1d92d8a2456b23842a649b6104c60a9d6ea25333Brian Wellingtontimeout(isc_task_t *task, isc_event_t *event) {
1d92d8a2456b23842a649b6104c60a9d6ea25333Brian Wellington INSIST(event->ev_type == ISC_TIMEREVENT_IDLE ||
1d92d8a2456b23842a649b6104c60a9d6ea25333Brian Wellington printf("task %s (%p) %s timeout\n", name, task, type);
4523c3b371e0e8aa6451aefcf2ba593c4d16ea31Evan Hunt RUNTIME_CHECK(isc_mem_create(0, 0, &mctx1) == ISC_R_SUCCESS);
1d92d8a2456b23842a649b6104c60a9d6ea25333Brian Wellington RUNTIME_CHECK(isc_taskmgr_create(mctx1, workers, 0, &manager) ==
1d92d8a2456b23842a649b6104c60a9d6ea25333Brian Wellington RUNTIME_CHECK(isc_timermgr_create(mctx1, &timgr) == ISC_R_SUCCESS);
1d92d8a2456b23842a649b6104c60a9d6ea25333Brian Wellington RUNTIME_CHECK(isc_task_create(manager, 0, &t1) ==
1d92d8a2456b23842a649b6104c60a9d6ea25333Brian Wellington RUNTIME_CHECK(isc_task_create(manager, 0, &t2) ==
1d92d8a2456b23842a649b6104c60a9d6ea25333Brian Wellington RUNTIME_CHECK(isc_task_create(manager, 0, &t3) ==
1d92d8a2456b23842a649b6104c60a9d6ea25333Brian Wellington RUNTIME_CHECK(isc_task_onshutdown(t1, shutdown_task, one) ==
1d92d8a2456b23842a649b6104c60a9d6ea25333Brian Wellington RUNTIME_CHECK(isc_task_onshutdown(t2, shutdown_task, two) ==
1d92d8a2456b23842a649b6104c60a9d6ea25333Brian Wellington RUNTIME_CHECK(isc_task_onshutdown(t3, shutdown_task, three) ==
1d92d8a2456b23842a649b6104c60a9d6ea25333Brian Wellington RUNTIME_CHECK(isc_timer_create(timgr, isc_timertype_once, NULL,
1d92d8a2456b23842a649b6104c60a9d6ea25333Brian Wellington RUNTIME_CHECK(isc_timer_create(timgr, isc_timertype_ticker, NULL,
1d92d8a2456b23842a649b6104c60a9d6ea25333Brian Wellington RUNTIME_CHECK(isc_time_add(&now, &interval, &expires) ==