diff options
author | Werner Koch <[email protected]> | 2017-11-15 14:30:21 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2017-11-15 14:31:52 +0000 |
commit | 0cfdd3b57d592fb6baa7dafe8fde124e8a6c7798 (patch) | |
tree | c0313699f3ddb6ab4269d3864edae8a8070c5bda /common/asshelp.c | |
parent | common: Change log_clock to printf style. (diff) | |
download | gnupg-0cfdd3b57d592fb6baa7dafe8fde124e8a6c7798.tar.gz gnupg-0cfdd3b57d592fb6baa7dafe8fde124e8a6c7798.zip |
assuan: Fix exponential decay for first second.
* common/asshelp.c (wait_for_sock): Round SECSLEFT.
* dirmngr/dirmngr.c (main): Take care of --debug-wait also in dameon
mode.
* common/sysutils.c (gnupg_usleep) [HAVE_NANOSLEEP]: Fix nanosleep use.
--
Without the rounding we saw in verbose mose
[...]to come up ... (5s)
[...]to come up ... (4s)
immediately without the expected one second delay. Waiting for the
next seconds did not work if nanosleep was used due to improper passed
parameters in gnupg_usleep.
Adding --debug-wait for dirmngr in daemon mode is required to test
this change.
GnuPG-bug-id: 3490
Fixes-commit: 149041b0b917f4298239fe18b5ebd5ead71584a6
Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to 'common/asshelp.c')
-rw-r--r-- | common/asshelp.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/common/asshelp.c b/common/asshelp.c index 542747af8..b9c0cf441 100644 --- a/common/asshelp.c +++ b/common/asshelp.c @@ -337,7 +337,10 @@ wait_for_sock (int secs, int which, const char *sockname, { if (verbose) { - secsleft = (target_us - elapsed_us)/1000000; + secsleft = (target_us - elapsed_us + 999999)/1000000; + /* log_clock ("left=%d last=%d targ=%d elap=%d next=%d\n", */ + /* secsleft, lastalert, target_us, elapsed_us, */ + /* next_sleep_us); */ if (secsleft < lastalert) { log_info (which == 1? |