Skip to content

connectivity: Make curl timeout callback non-repeating.


Make curl timeout callback non-repeating. Fixes reports of 100% CPU usage after upgrading to curl v8.4.0.

User reports: 1, 2.


The CURLMOPT_TIMERFUNCTION manual says: Your callback function timer_callback should install a non-repeating timer with an expire time of timeout_ms milliseconds.

The previous callback returned G_SOURCE_CONTINUE, resulting in a repeating firing callback. curl tweaked some internals in v8.4.0 and started giving 0 timeouts, which caused this to wreak havoc.

Fix it by making the callback non-repeating as specified by the API contract.


Please read before opening the merge request. In particular, check that:

  • the subject for all commits is concise and explicative
  • the message for all commits explains the reason for the change
  • the source is properly formatted
  • any relevant documentation is up to date
  • N / A you have added unit tests if applicable

Merge request reports