- 17 Jun, 2019 1 commit
-
-
Max Kellermann authored
-
- 05 Feb, 2019 1 commit
-
-
Max Kellermann authored
This replaces the old `dead` flag which was unreliable; it was `false` if the EventThread was not yet started, which could cause deadlocks in BlockingCall().
-
- 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
-
- 20 Aug, 2018 1 commit
-
-
Max Kellermann authored
-
- 06 Aug, 2018 1 commit
-
-
Max Kellermann authored
-
- 29 Jan, 2018 3 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
-
- 08 Jan, 2018 1 commit
-
-
Max Kellermann authored
Fixes thread sanitizer warnings.
-
- 22 Dec, 2017 1 commit
-
-
Max Kellermann authored
Fixes thread sanitizer warnings.
-
- 12 Nov, 2017 1 commit
-
-
Max Kellermann authored
Move its code to DeferEvent instead.
-
- 10 Nov, 2017 1 commit
-
-
Max Kellermann authored
-
- 29 Aug, 2017 5 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
The intrusive contains can easily erase items without searching through the whole list. This removes a good amount of runtime overhead.
-
Max Kellermann authored
By using an "intrusive" data structure, we can easily eliminate struct TimerRecord.
-
Max Kellermann authored
Prepare to eliminate the TimerRecord struct.
-
Max Kellermann authored
-
- 18 Aug, 2017 1 commit
-
-
Max Kellermann authored
Allows eliminating lots of complexity and workarounds for bogus assertion failures.
-
- 04 Jun, 2017 1 commit
-
-
Max Kellermann authored
-
- 09 Feb, 2017 1 commit
-
-
Max Kellermann authored
Fixes build breakage by commit 4e5271fc; and this method does make sense in non-debug builds.
-
- 03 Jan, 2017 1 commit
-
-
Max Kellermann authored
-
- 28 Dec, 2016 1 commit
-
-
Max Kellermann authored
-
- 27 Dec, 2016 1 commit
-
-
Max Kellermann authored
-
- 01 Mar, 2016 1 commit
-
-
Max Kellermann authored
-
- 26 Feb, 2016 1 commit
-
-
Max Kellermann authored
-
- 01 Jan, 2015 1 commit
-
-
Max Kellermann authored
-
- 04 Feb, 2014 1 commit
-
-
Max Kellermann authored
-
- 13 Jan, 2014 1 commit
-
-
Max Kellermann authored
-
- 09 Jan, 2014 1 commit
-
-
Max Kellermann authored
Add the debug-only flag "virgin" which gets checked by assert() calls. Fixes assertion failures when using zeroconf/avahi.
-
- 05 Jan, 2014 4 commits
-
-
Max Kellermann authored
Add a flag that indicates whether the EventLoop is currently "busy". As long as that flag is set, it does not need to be woken up - we can simply add the DeferredMonitor to the list, and it will be caught by EventLoop very soon. This eliminates nearly all of the DeferredMonitor overhead when compared to IdleMonitor, rendering IdleMonitor mostly obsolete.
-
Max Kellermann authored
Improved support for added events.
-
Max Kellermann authored
-
Max Kellermann authored
-
- 04 Jan, 2014 3 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
-
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
-
- 28 Nov, 2013 1 commit
-
-
Denis Krjuchkov 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.
-