• Max Kellermann's avatar
    event/DeferredMonitor: make fully thread-safe · a357d84d
    Max Kellermann authored
    Instead of creating a new eventfd for each DeferredMonitor instance,
    reuse EventLoop's eventfd, and add a std::list to EventLoop that
    manages the list of pending DeferredMonitors.  This std::list is
    protected by the same mutex as the "calls" list.
    
    The bottom line is: reduced overhead because the per-instance eventfd
    was eliminated, slightly added overhead due to Mutex usage (but
    negligible), and we're thread-safe now.
    
    This subsystem is now good enough to replace EventLoop::AddCall().
    a357d84d
Name
Last commit
Last update
doc Loading commit data...
m4 Loading commit data...
scripts Loading commit data...
src Loading commit data...
test Loading commit data...
.gitignore Loading commit data...
AUTHORS Loading commit data...
COPYING Loading commit data...
INSTALL Loading commit data...
Makefile.am Loading commit data...
NEWS Loading commit data...
README Loading commit data...
UPGRADING Loading commit data...
autogen.sh Loading commit data...
configure.ac Loading commit data...
mpd.service.in Loading commit data...
valgrind.suppressions Loading commit data...