summaryrefslogtreecommitdiff
path: root/src/helper/log.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/helper/log.c')
-rw-r--r--src/helper/log.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/helper/log.c b/src/helper/log.c
index ef1a6bb0..efe5d5bb 100644
--- a/src/helper/log.c
+++ b/src/helper/log.c
@@ -385,3 +385,20 @@ void kept_alive()
current_time=timeval_ms();
last_time=current_time;
}
+
+/* if we sleep for extended periods of time, we must invoke keep_alive() intermittantly */
+void alive_sleep(int ms)
+{
+ int i;
+ for (i=0; i<ms; i+=500)
+ {
+ int sleep_a_bit=ms-i;
+ if (sleep_a_bit>500)
+ {
+ sleep_a_bit=500;
+ }
+ keep_alive();
+ usleep(sleep_a_bit*1000);
+ keep_alive();
+ }
+}