From: Wouter Wijngaards Date: Tue, 22 Jan 2008 12:01:13 +0000 (+0000) Subject: fix quit on timeout, and printing trailing dots. X-Git-Tag: release-0.9~55 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1a4fadaf0054a812b45b736644e9f0d734c97676;p=thirdparty%2Funbound.git fix quit on timeout, and printing trailing dots. git-svn-id: file:///svn/unbound/trunk@885 be551aaa-1e26-0410-a405-d3ace91eadb9 --- diff --git a/doc/Changelog b/doc/Changelog index dba6ec7ac..a5c90b5e8 100644 --- a/doc/Changelog +++ b/doc/Changelog @@ -1,6 +1,7 @@ 22 January 2008: Wouter - library code for async in libunbound/unbound.c. - fix link testbound. + - fixup exit bug in mini_event. 21 January 2008: Wouter - libworker work, netevent raw commpoints, write_msg, serialize. diff --git a/libunbound/worker.c b/libunbound/worker.c index 1376a843e..fe9fdefe2 100644 --- a/libunbound/worker.c +++ b/libunbound/worker.c @@ -405,7 +405,7 @@ libworker_fg_done_cb(void* arg, int rcode, ldns_buffer* buf, enum sec_status s) if(rcode != 0) { d->q->res->rcode = rcode; - d->q->msg_security = 0; + d->q->msg_security = s; return; } @@ -419,7 +419,6 @@ libworker_fg_done_cb(void* arg, int rcode, ldns_buffer* buf, enum sec_status s) /* canonname and results */ d->q->msg_security = s; - libworker_enter_result(d->q->res, buf, d->w->env->scratch, s); } diff --git a/smallapp/unbound-host.c b/smallapp/unbound-host.c index f8f8782dc..1a11a3c1f 100644 --- a/smallapp/unbound-host.c +++ b/smallapp/unbound-host.c @@ -302,7 +302,8 @@ pretty_output(char* q, int t, int c, struct ub_val_result* result, int docname) printf("\n"); } /* remove trailing . from long canonnames for nicer output */ - if(result->canonname && strlen(result->canonname) > 1) + if(result->canonname && strlen(result->canonname) > 1 && + result->canonname[strlen(result->canonname)-1] == '.') result->canonname[strlen(result->canonname)-1] = 0; if(!result->havedata) { if(verb > 0) { diff --git a/util/mini_event.c b/util/mini_event.c index cba2ba3ce..10179264c 100644 --- a/util/mini_event.c +++ b/util/mini_event.c @@ -204,6 +204,8 @@ int event_base_dispatch(struct event_base* base) return -1; /* see if timeouts need handling */ handle_timeouts(base, &now, &wait); + if(base->need_to_exit) + return 0; /* do select */ if(handle_select(base, &wait) < 0) { if(base->need_to_exit)