Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | event/DeferredMonitor: make fully thread-safe | Max Kellermann | 2014-01-04 | 1 | -36/+7 |
| | | | | | | | | | | | | | 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(). | ||||
* | event/*Monitor: document as not being thread-safe | Max Kellermann | 2013-12-31 | 1 | -0/+3 |
| | |||||
* | Add infrastructure for using multiple event loops | Denis Krjuchkov | 2013-11-27 | 1 | -14/+25 |
| | | | | | | | | | | | | 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. | ||||
* | gcc.h: rename to Compiler.h | Max Kellermann | 2013-10-15 | 1 | -1/+1 |
| | |||||
* | EventLoop: new implementation using epoll | Max Kellermann | 2013-08-10 | 1 | -1/+37 |
| | | | | Implement an event loop without GLib. | ||||
* | event/*Monitor: add method GetEventLoop() | Max Kellermann | 2013-08-08 | 1 | -0/+4 |
| | |||||
* | event/DeferredMonitor: rename Run() to RunDeferred() | Max Kellermann | 2013-08-07 | 1 | -2/+2 |
| | |||||
* | event/DeferredMonitor: use EventLoop::AddIdle() | Max Kellermann | 2013-08-07 | 1 | -2/+6 |
| | |||||
* | event/DeferredMonitor: new class wrapping g_idle_add() | Max Kellermann | 2013-08-07 | 1 | -0/+54 |