Commit message (Collapse) | Author | Files | Lines | ||
---|---|---|---|---|---|
2014-01-04 | event/Loop: remove the GLib implementation | Max Kellermann | 1 | -61/+1 | |
Now that the remaining known bugs in poll() implementation are fixed, we can go on without the GLib implementation. | |||||
2014-01-04 | event/Loop: remove unused method AddCall() | Max Kellermann | 1 | -9/+0 | |
2014-01-04 | event/DeferredMonitor: make fully thread-safe | Max Kellermann | 1 | -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-31 | event/Loop: document that AddCall() is thread-safe | Max Kellermann | 1 | -0/+5 | |
2013-11-28 | event: introduce generic API for internal event loop | Denis Krjuchkov | 1 | -18/+6 | |
2013-11-27 | Add infrastructure for using multiple event loops | Denis Krjuchkov | 1 | -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-24 | event: add API documentation | Max Kellermann | 1 | -0/+21 | |
2013-11-06 | event/SocketMonitor: add method Abandon() | Max Kellermann | 1 | -0/+7 | |
2013-10-15 | gcc.h: rename to Compiler.h | Max Kellermann | 1 | -1/+1 | |
2013-08-10 | EventLoop: new implementation using epoll | Max Kellermann | 1 | -11/+112 | |
Implement an event loop without GLib. | |||||
2013-08-10 | thread/Id: new class replacing GThread pointers | Max Kellermann | 1 | -5/+6 | |
Remove a GLib dependencies from class EventLoop and DatabaseLock. | |||||
2013-08-08 | EventLoop: add methodd IsInside() | Max Kellermann | 1 | -2/+21 | |
Track which thread runs the EventLoop and provide a check whether we're currently inside. | |||||
2013-08-08 | EventLoop: un-inline Run() and others | Max Kellermann | 1 | -22/+4 | |
Prepare for adding more code. | |||||
2013-01-30 | event/Loop: add method WakeUp() | Max Kellermann | 1 | -0/+4 | |
2013-01-14 | event/TimeoutMonitor: wrapper for g_timeout_source_new() | Max Kellermann | 1 | -10/+8 | |
2013-01-14 | Main, IOThread: move GMainLoop setup code to class EventLoop | Max Kellermann | 1 | -0/+86 | |