{
int i;
log_assert(daemon);
- log_info("start others");
+ verbose(VERB_ALGO, "start threads");
/* skip i=0, is this thread */
for(i=1; i<daemon->num; i++) {
ub_thread_create(&daemon->workers[i]->thr_id,
{
int i;
log_assert(daemon);
- log_info("stop others");
+ verbose(VERB_ALGO, "stop threads");
/* skip i=0, is this thread */
/* use i=0 buffer for sending cmds; because we are #0 */
for(i=1; i<daemon->num; i++) {
- log_info("killing thread %d", i);
worker_send_cmd(daemon->workers[i],
daemon->workers[0]->front->udp_buff, worker_cmd_quit);
}
/** wait for them to quit */
for(i=1; i<daemon->num; i++) {
/* join it to make sure its dead */
- log_info("join %d", i);
+ verbose(VERB_ALGO, "join %d", i);
ub_thread_join(daemon->workers[i]->thr_id);
- log_info("join success %d", i);
+ verbose(VERB_ALGO, "join success %d", i);
}
}
daemon_fork(struct daemon* daemon)
{
log_assert(daemon);
- log_info("daemon_fork");
/* first create all the worker structures, so we can pass
* them to the newly created threads.
*/
struct comm_reply* ATTR_UNUSED(reply_info))
{
struct worker* worker = (struct worker*)arg;
- log_info("reply to query with stored ID %d", worker->query_id);
+ verbose(VERB_DETAIL, "reply to query with stored ID %d",
+ worker->query_id);
LDNS_ID_SET(ldns_buffer_begin(worker->query_reply.c->buffer),
worker->query_id);
if(error != 0) {
/* query the forwarding address */
worker->query_id = LDNS_ID_WIRE(ldns_buffer_begin(
worker->query_reply.c->buffer));
- log_info("stored in process_query ID %d", worker->query_id);
+ verbose(VERB_DETAIL, "process_query ID %d", worker->query_id);
pending_udp_query(worker->back, worker->query_reply.c->buffer,
&worker->fwd_addr, worker->fwd_addrlen, UDP_QUERY_TIMEOUT,
worker_handle_reply, worker, worker->rndstate);
if(error != NETEVENT_NOERROR) {
if(error == NETEVENT_CLOSED)
comm_base_exit(worker->base);
- else log_info("control cmd: %d", error);
+ else log_info("control event: %d", error);
return 0;
}
- log_info("control cmd");
if(ldns_buffer_limit(c->buffer) != sizeof(uint32_t)) {
fatal_exit("bad control msg length %d",
(int)ldns_buffer_limit(c->buffer));
cmd = ldns_buffer_read_u32(c->buffer);
switch(cmd) {
case worker_cmd_quit:
+ verbose(VERB_ALGO, "got control cmd quit");
comm_base_exit(worker->base);
break;
default:
No memory is leaking during reloads, service of queries, etc.
- test that uses ldns-testns -f to test threading. Have to answer
three queries at the same time.
+ - with verbose=0 operates quietly.
26 February 2007: Wouter
- ub_random code used to select ID and port.
int err;
sigset_t sigset;
sigfillset(&sigset);
- log_info("blocking signals");
#ifdef HAVE_PTHREAD
if((err=pthread_sigmask(SIG_SETMASK, &sigset, NULL)))
fatal_exit("pthread_sigmask: %s", strerror(err));
sigset_t sigset;
sigemptyset(&sigset);
sigaddset(&sigset, sig);
- log_info("unblocking signal %d", sig);
#ifdef HAVE_PTHREAD
if((err=pthread_sigmask(SIG_UNBLOCK, &sigset, NULL)))
fatal_exit("pthread_sigmask: %s", strerror(err));