- 01 Dec, 2020 3 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
-
- 14 Oct, 2020 1 commit
-
-
Max Kellermann authored
Allows forward declaration.
-
- 26 Mar, 2020 1 commit
-
-
Max Kellermann authored
-
- 18 Jan, 2020 1 commit
-
-
Max Kellermann authored
-
- 17 Jun, 2019 1 commit
-
-
Max Kellermann authored
-
- 04 Apr, 2019 1 commit
-
-
Max Kellermann authored
-
- 19 Nov, 2018 1 commit
-
-
Max Kellermann authored
Since we switched from autotools to Meson in commit 94592c14, we don't need to include `config.h` early to properly enable large file support. Meson passes the required macros on the compiler command line instead of defining them in `config.h`. This means we can include `config.h` at any time, whenever we want to check its macros, and there are no ordering constraints.
-
- 31 Oct, 2018 1 commit
-
-
Max Kellermann authored
-
- 12 Nov, 2017 1 commit
-
-
Max Kellermann authored
Move its code to DeferEvent instead.
-
- 10 Nov, 2017 1 commit
-
-
Max Kellermann authored
-
- 21 Sep, 2017 1 commit
-
-
Max Kellermann authored
-
- 03 Jan, 2017 1 commit
-
-
Max Kellermann authored
-
- 17 Jun, 2016 2 commits
-
-
Max Kellermann authored
Comes with a callback pointer instead of a virtual method, which allows multiple instances in one class.
-
Max Kellermann authored
Replaces the old BoundMethod template.
-
- 10 Mar, 2016 1 commit
-
-
Max Kellermann authored
-
- 05 Mar, 2016 1 commit
-
-
Max Kellermann authored
-
- 26 Feb, 2016 1 commit
-
-
Max Kellermann authored
-
- 01 Jan, 2015 1 commit
-
-
Max Kellermann authored
-
- 25 Nov, 2014 1 commit
-
-
Max Kellermann authored
-
- 26 Apr, 2014 1 commit
-
-
Max Kellermann authored
Turns out the lock-free code using atomics was not thread-safe. The given callback could be invoked by GLib before the source_id attribute was assigned. This commit changes the DeferredMonitor class to use a Mutex to block the event loop until source_id is assigned. This bug does not exist in the 0.19 branch because it does not use the GLib main loop anymore.
-
- 13 Jan, 2014 1 commit
-
-
Max Kellermann authored
-
- 04 Jan, 2014 2 commits
-
-
Max Kellermann authored
Now that the remaining known bugs in poll() implementation are fixed, we can go on without the GLib implementation.
-
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().
-
- 31 Dec, 2013 1 commit
-
-
Max Kellermann authored
-
- 27 Nov, 2013 1 commit
-
-
Denis Krjuchkov authored
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.
-
- 15 Oct, 2013 1 commit
-
-
Max Kellermann authored
-
- 10 Aug, 2013 1 commit
-
-
Max Kellermann authored
Implement an event loop without GLib.
-
- 08 Aug, 2013 1 commit
-
-
Max Kellermann authored
-
- 07 Aug, 2013 3 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
-
- 08 Apr, 2013 1 commit
-
-
Max Kellermann authored
No caller needs this. Fixes use-after-free after returning from Client::OnTimeout().
-
- 14 Jan, 2013 2 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
-
- 03 Jan, 2013 1 commit
-
-
Max Kellermann authored
-
- 02 Jan, 2013 1 commit
-
-
Max Kellermann authored
-
- 29 Jan, 2011 1 commit
-
-
Max Kellermann authored
-
- 01 Jan, 2010 1 commit
-
-
Avuton Olrich authored
-