From: Wouter Wijngaards Date: Mon, 26 Feb 2007 16:11:32 +0000 (+0000) Subject: Makes compile and test pass. X-Git-Tag: release-0.1~23 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=af2f95454a4392ee9ca57423fdc53df1acd0b5a0;p=thirdparty%2Funbound.git Makes compile and test pass. git-svn-id: file:///svn/unbound/trunk@148 be551aaa-1e26-0410-a405-d3ace91eadb9 --- diff --git a/daemon/worker.c b/daemon/worker.c index 4a7550f35..db8406429 100644 --- a/daemon/worker.c +++ b/daemon/worker.c @@ -247,6 +247,10 @@ worker_sighandler(int sig, void* arg) log_info("caught signal SIGQUIT"); comm_base_exit(worker->base); break; + case SIGTERM: + log_info("caught signal SIGTERM"); + comm_base_exit(worker->base); + break; default: log_err("unknown signal: %d, ignored", sig); break; @@ -294,6 +298,7 @@ worker_init(struct worker* worker, struct config_file *cfg, worker_sighandler, worker); if(!worker->comsig || !comm_signal_bind(worker->comsig, SIGHUP) || !comm_signal_bind(worker->comsig, SIGINT) + || !comm_signal_bind(worker->comsig, SIGTERM) || !comm_signal_bind(worker->comsig, SIGQUIT)) { log_err("could not create signal handlers"); worker_delete(worker); @@ -302,6 +307,7 @@ worker_init(struct worker* worker, struct config_file *cfg, ub_thread_sig_unblock(SIGHUP); ub_thread_sig_unblock(SIGINT); ub_thread_sig_unblock(SIGQUIT); + ub_thread_sig_unblock(SIGTERM); } else { /* !do_sigs */ worker->comsig = 0; } @@ -373,6 +379,7 @@ worker_delete(struct worker* worker) listen_delete(worker->front); outside_network_delete(worker->back); comm_signal_delete(worker->comsig); + comm_point_delete(worker->cmd_com); comm_base_delete(worker->base); free(worker->rndstate); free(worker); diff --git a/testcode/fake_event.c b/testcode/fake_event.c index c62d33430..8e697d7b8 100644 --- a/testcode/fake_event.c +++ b/testcode/fake_event.c @@ -698,5 +698,18 @@ void listening_ports_free(struct listen_port* list) free(list); } +struct comm_point* comm_point_create_local(struct comm_base* ATTR_UNUSED(base), + int ATTR_UNUSED(fd), size_t ATTR_UNUSED(bufsize), + comm_point_callback_t* ATTR_UNUSED(callback), + void* ATTR_UNUSED(callback_arg)) +{ + return calloc(1, 1); +} + +/* only cmd com _local gets deleted */ +void comm_point_delete(struct comm_point* c) +{ + free(c); +} /*********** End of Dummy routines ***********/