client: shorten default timeout with localhost and async resolving

When chronyd is compiled with asynchronous name resolving, it should
always respond quickly. Shorten the default chronyc timeout for
localhost.
This commit is contained in:
Miroslav Lichvar 2014-04-29 12:04:43 +02:00
parent 5483567190
commit 0c542dcd3d
2 changed files with 11 additions and 2 deletions

View file

@ -4266,7 +4266,9 @@ in milliseconds. If no response is received from @code{chronyd}, the timeout is
doubled and the request is resent. The maximum number of retries is configured
with the @code{retries} command (@pxref{retries command}).
The default is 1000 milliseconds.
By default, the timeout is 1000 milliseconds or 100 milliseconds if
@code{chronyc} is contacting localhost (i.e. the `-h' option wasn't specified)
and @code{chronyd} was compiled with asynchronous name resolving.
@c }}}
@c {{{ tracking
@node tracking command

View file

@ -2703,7 +2703,7 @@ main(int argc, char **argv)
const char *progname = argv[0];
const char *hostname = "localhost";
const char *conf_file = DEFAULT_CONF_FILE;
int quit = 0, ret = 1, multi = 0, auto_auth = 0;
int quit = 0, ret = 1, multi = 0, auto_auth = 0, short_timeout = 1;
int port = DEFAULT_CANDM_PORT;
/* Parse command line options */
@ -2713,6 +2713,7 @@ main(int argc, char **argv)
if (*argv) {
hostname = *argv;
}
short_timeout = 0;
} else if (!strcmp(*argv, "-p")) {
++argv, --argc;
if (*argv) {
@ -2746,6 +2747,12 @@ main(int argc, char **argv)
}
}
if (short_timeout) {
#ifdef FEAT_ASYNCDNS
initial_timeout /= 10;
#endif
}
if (isatty(0) && isatty(1) && isatty(2)) {
on_terminal = 1;
}