Linux fc31 5.3.7-301.fc31.x86_64 #1 SMP Mon Oct 21 19:18:58 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
In the good case, the end of the sequence is generally:
Progress: http://www.example.com (62/62)
socket callback: s=6 e=0x54a1e20 what=REMOVE
multi_timer_cb: Setting timeout to -1 ms
DONE: http://www.example.com => (0)
last transfer done, kill timeout
I was able to reproduce the output by triggering a bad case (i.e. passing in an unresolvable hostname).
Looking further into the ephiperfifo source code, it appears that, unless timeout_ms give by curl is -1, the timerfd is configured to an interval of 1 second regardless of the value of the initial timeout. That is, it makes use a repeating timer.
In real world scenarios, the documentation suggests CURLMOPT_TIMER_FUNCTION setting a non-repeating timer, so that the timer will not be triggered repeatedly when bad cases arise (where there's no need to reset a timer).