mirror of
https://github.com/bminor/binutils-gdb.git
synced 2025-11-16 12:34:43 +00:00
gdbsupport/event-loop: do not truncate poll timeouts to lower second
In update_wait_timeout function, microseconds were not taken into account
in poll timeout computation, resulting in 100% cpu time consumption in
the event loop while waiting for a sub-second timeout.
The bug has been introduced in commit c2c6d25.
This patch adds the microseconds converted to milliseconds in poll
timeout computation. Conversion by excess (ceil) is performed to
avoid the same problem with sub-millisecond timeouts too.
This commit is contained in:
@@ -827,7 +827,8 @@ update_wait_timeout (void)
|
||||
/* Update the timeout for select/ poll. */
|
||||
#ifdef HAVE_POLL
|
||||
if (use_poll)
|
||||
gdb_notifier.poll_timeout = timeout.tv_sec * 1000;
|
||||
gdb_notifier.poll_timeout = (timeout.tv_sec * 1000 +
|
||||
(timeout.tv_usec + 1000 - 1) / 1000);
|
||||
else
|
||||
#endif /* HAVE_POLL */
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user