1. 22 Oct, 2021 1 commit
  2. 25 May, 2021 1 commit
  3. 01 Jan, 2021 1 commit
  4. 15 Nov, 2020 1 commit
  5. 20 Jan, 2020 3 commits
  6. 18 Jan, 2020 2 commits
  7. 17 Jun, 2019 1 commit
  8. 19 Nov, 2018 1 commit
    • Max Kellermann's avatar
      check.h: remove obsolete header · ce49d99c
      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.
      ce49d99c
  9. 31 Oct, 2018 1 commit
  10. 23 Sep, 2018 2 commits
  11. 21 Sep, 2018 1 commit
  12. 04 Jun, 2017 1 commit
  13. 25 Feb, 2017 3 commits
  14. 17 Feb, 2017 5 commits
  15. 03 Jan, 2017 1 commit
  16. 26 Feb, 2016 1 commit
  17. 01 Jan, 2015 1 commit
  18. 26 Apr, 2014 1 commit
    • Max Kellermann's avatar
      DeferredMonitor: fix race condition when using GLib event loop · 0efb67b5
      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.
      0efb67b5
  19. 13 Jan, 2014 1 commit
  20. 04 Jan, 2014 2 commits
    • Max Kellermann's avatar
      event/Loop: remove the GLib implementation · f0d3b47a
      Max Kellermann authored
      Now that the remaining known bugs in poll() implementation are fixed,
      we can go on without the GLib implementation.
      f0d3b47a
    • Max Kellermann's avatar
      event/DeferredMonitor: make fully thread-safe · a357d84d
      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().
      a357d84d
  21. 27 Nov, 2013 1 commit
    • Denis Krjuchkov's avatar
      Add infrastructure for using multiple event loops · 46bab7e4
      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.
      46bab7e4
  22. 10 Aug, 2013 1 commit
  23. 07 Aug, 2013 3 commits
  24. 08 Apr, 2013 1 commit
  25. 14 Jan, 2013 1 commit
  26. 03 Jan, 2013 2 commits