1
0
mirror of https://github.com/moparisthebest/curl synced 2024-08-13 17:03:50 -04:00

examples/ephiperfifo: turn off interval when setting timerfd

Reported-by: therealhirudo on github
Fixes #5485
Closes #5497
This commit is contained in:
kotoriのねこ 2020-06-01 10:51:34 -07:00 committed by Daniel Stenberg
parent 21ed48e8d9
commit 066b303231
No known key found for this signature in database
GPG Key ID: 5CC908FDB71E12C2

View 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);