diff options
Diffstat (limited to 'src/helper')
-rw-r--r-- | src/helper/command.c | 7 | ||||
-rw-r--r-- | src/helper/log.c | 8 |
2 files changed, 10 insertions, 5 deletions
diff --git a/src/helper/command.c b/src/helper/command.c index d34c402..9ade320 100644 --- a/src/helper/command.c +++ b/src/helper/command.c @@ -741,7 +741,12 @@ int handle_sleep_command(struct command_context_s *cmd_ctx, char *cmd, char **ar busy_sleep(duration); } else { - alive_sleep(duration); + long long then=timeval_ms(); + while ((timeval_ms()-then)<duration) + { + target_call_timer_callbacks_now(); + usleep(1000); + } } return ERROR_OK; diff --git a/src/helper/log.c b/src/helper/log.c index f7b2fc9..7ea2a6c 100644 --- a/src/helper/log.c +++ b/src/helper/log.c @@ -400,14 +400,14 @@ void kept_alive() void alive_sleep(int ms) { int i; - for (i=0; i<ms; i+=500) + int napTime=10; + for (i=0; i<ms; i+=napTime) { int sleep_a_bit=ms-i; - if (sleep_a_bit>500) + if (sleep_a_bit>napTime) { - sleep_a_bit=500; + sleep_a_bit=napTime; } - keep_alive(); usleep(sleep_a_bit*1000); keep_alive(); } |