]> granicus.if.org Git - libevent/commit
Double-check next timeout when adding events
authorNate Rosenblum <nater@maginatics.com>
Tue, 5 Mar 2013 19:29:33 +0000 (11:29 -0800)
committerNate Rosenblum <nater@maginatics.com>
Tue, 5 Mar 2013 19:29:33 +0000 (11:29 -0800)
commit9443868d55a829cd66a2dce24daad84c5f1ca2ed
treefcf5b564663b221e633df4deb8c3f065af7ea5d0
parent13676535c83448b957ae00772c13f823cc9d3503
Double-check next timeout when adding events

When resuming the system from a suspended state, the ev_timeout field
of a scheduled timer event may be in the past. This leads to
unexpected behavior when scheduling a short-duration timer event
immediately after returning from suspension, because the new event
does not land on top of the timeout minheap and so the event loop
(blocked on a possibly long-duration timeout) is not notified.

This patch checks for this condition and, if it obtains, notifies the
event loop.
event.c