* SOFTWARE.
*/
-/* $Id: dig.c,v 1.51.2.2 2000/07/10 19:11:34 bwelling Exp $ */
+/* $Id: dig.c,v 1.51.2.3 2000/07/12 00:21:56 gson Exp $ */
#include <config.h>
#include <stdlib.h>
timeout = atoi(&rv[0][6]);
if (timeout <= 0)
timeout = 1;
+ debug ("timeout set to %d", timeout);
+ } else if (strncmp(rv[0], "+timeout=", 9) == 0) {
+ /* Global option always */
+ timeout = atoi(&rv[0][9]);
+ if (timeout <= 0)
+ timeout = 1;
+ debug ("timeout set to %d", timeout);
} else if (strncmp(rv[0], "+tries=", 7) == 0) {
if (have_host) {
lookup->retries = atoi(&rv[0][7]);
* SOFTWARE.
*/
-/* $Id: dighost.c,v 1.58.2.3 2000/07/10 19:11:36 bwelling Exp $ */
+/* $Id: dighost.c,v 1.58.2.4 2000/07/12 00:21:55 gson Exp $ */
/*
* Notice to programmers: Do not use this code as an example of how to
local_timeout = UDP_TIMEOUT;
} else
local_timeout = timeout;
+ debug ("have local timeout of %d", local_timeout);
isc_interval_set(&lookup->interval, local_timeout, 0);
result = isc_timer_create(timermgr, isc_timertype_once, NULL,
&lookup->interval, global_task,
* the timeout to much longer, so brief network
* outages won't cause the XFR to abort
*/
- if (timeout != INT_MAX) {
+ if ((timeout != INT_MAX) &&
+ (query->lookup->timer != NULL)) {
if (timeout == 0) {
if (query->lookup->tcp_mode)
local_timeout = TCP_TIMEOUT;
else
local_timeout = UDP_TIMEOUT;
} else {
- if (((long)timeout * 4) <
- (long)INT_MAX)
+ if (timeout < (INT_MAX / 4))
local_timeout = timeout * 4;
else
local_timeout = INT_MAX;
}
+ debug ("have local timeout of %d",
+ local_timeout);
isc_interval_set(&query->lookup->interval,
local_timeout, 0);
result = isc_timer_reset(query->lookup->timer,
NULL,
&query->lookup->interval,
ISC_FALSE);
- check_result(result, "isc_timer_create");
+ check_result(result, "isc_timer_reset");
}
}
if (query->lookup->xfr_q == query) {
local_timeout = UDP_TIMEOUT;
} else
local_timeout = timeout;
+ debug ("have local timeout of %d", local_timeout);
isc_interval_set(&lookup->interval, local_timeout, 0);
result = isc_timer_create(timermgr, isc_timertype_once, NULL,
&lookup->interval, global_task,