aboutsummaryrefslogtreecommitdiffstats
path: root/src/event/Loop.hxx (unfollow)
Commit message (Collapse)AuthorFilesLines
2014-01-04event/Loop: remove the GLib implementationMax Kellermann1-61/+1
Now that the remaining known bugs in poll() implementation are fixed, we can go on without the GLib implementation.
2014-01-04event/Loop: remove unused method AddCall()Max Kellermann1-9/+0
2014-01-04event/DeferredMonitor: make fully thread-safeMax Kellermann1-0/+17
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().
2013-12-31event/Loop: document that AddCall() is thread-safeMax Kellermann1-0/+5
2013-11-28event: introduce generic API for internal event loopDenis Krjuchkov1-18/+6
2013-11-27Add infrastructure for using multiple event loopsDenis Krjuchkov1-9/+24
This change adds two configuration options: --with-eventloop=[glib|internal|auto] --with-pollmethod=[epoll|auto] First allows switching between GLib event loop and internal one. Second chooses backend to use for internal event loop. Conditional compilation symbols are changed accordingly. Additional helper macro MPD_OPTIONAL_FUNC_NODEF is added as well.
2013-11-24event: add API documentationMax Kellermann1-0/+21
2013-11-06event/SocketMonitor: add method Abandon()Max Kellermann1-0/+7
2013-10-15gcc.h: rename to Compiler.hMax Kellermann1-1/+1
2013-08-10EventLoop: new implementation using epollMax Kellermann1-11/+112
Implement an event loop without GLib.
2013-08-10thread/Id: new class replacing GThread pointersMax Kellermann1-5/+6
Remove a GLib dependencies from class EventLoop and DatabaseLock.
2013-08-08EventLoop: add methodd IsInside()Max Kellermann1-2/+21
Track which thread runs the EventLoop and provide a check whether we're currently inside.
2013-08-08EventLoop: un-inline Run() and othersMax Kellermann1-22/+4
Prepare for adding more code.
2013-01-30event/Loop: add method WakeUp()Max Kellermann1-0/+4
2013-01-14event/TimeoutMonitor: wrapper for g_timeout_source_new()Max Kellermann1-10/+8
2013-01-14Main, IOThread: move GMainLoop setup code to class EventLoopMax Kellermann1-0/+86