event-loop: Track timer event sources in userspace
authorManuel Stoeckl <code@mstoeckl.com>
Sat, 21 Dec 2019 15:15:56 +0000 (10:15 -0500)
committerSimon Ser <contact@emersion.fr>
Tue, 21 Jan 2020 11:31:35 +0000 (11:31 +0000)
commit60a8d29ad8526c18cc670612e2c94f443873011a
tree797ab258d493c64fbadc5c4d0b12d53cac39c894
parent75d14834570bb0c851e792b520814888fb324c08
event-loop: Track timer event sources in userspace

libwayland now uses only one file descriptor to keep track of all
the timer event sources associated with an event loop. An array-based
binary heap is used to determine which event source has the earliest
deadline.

(Previously, each timer event source had its own timerfd, making it easy
for the a process using many timer event sources to run out of file
descriptors.)

Signed-off-by: Manuel Stoeckl <code@mstoeckl.com>
src/event-loop.c