]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
examples/ephiperfifo: turn off interval when setting timerfd
authorkotoriのねこ <2567702743@qq.com>
Mon, 1 Jun 2020 17:51:34 +0000 (10:51 -0700)
committerDaniel Stenberg <daniel@haxx.se>
Mon, 1 Jun 2020 22:11:38 +0000 (00:11 +0200)
Reported-by: therealhirudo on github
Fixes #5485
Closes #5497

docs/examples/ephiperfifo.c

index c076a8523f3fd46022827fa4836532c7adc88761..4985678edf43cb47e5e6975d98a23b36d9345966 100644 (file)
@@ -146,7 +146,7 @@ static int multi_timer_cb(CURLM *multi, long timeout_ms, GlobalInfo *g)
   fprintf(MSG_OUT, "multi_timer_cb: Setting timeout to %ld ms\n", timeout_ms);
 
   if(timeout_ms > 0) {
-    its.it_interval.tv_sec = 1;
+    its.it_interval.tv_sec = 0;
     its.it_interval.tv_nsec = 0;
     its.it_value.tv_sec = timeout_ms / 1000;
     its.it_value.tv_nsec = (timeout_ms % 1000) * 1000 * 1000;
@@ -155,7 +155,7 @@ static int multi_timer_cb(CURLM *multi, long timeout_ms, GlobalInfo *g)
     /* libcurl wants us to timeout now, however setting both fields of
      * new_value.it_value to zero disarms the timer. The closest we can
      * do is to schedule the timer to fire in 1 ns. */
-    its.it_interval.tv_sec = 1;
+    its.it_interval.tv_sec = 0;
     its.it_interval.tv_nsec = 0;
     its.it_value.tv_sec = 0;
     its.it_value.tv_nsec = 1;
@@ -488,7 +488,7 @@ int main(int argc, char **argv)
   }
 
   memset(&its, 0, sizeof(struct itimerspec));
-  its.it_interval.tv_sec = 1;
+  its.it_interval.tv_sec = 0;
   its.it_value.tv_sec = 1;
   timerfd_settime(g.tfd, 0, &its, NULL);