1. 17 Jun, 2019 1 commit
  2. 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
  3. 31 Oct, 2018 1 commit
  4. 16 Feb, 2018 1 commit
    • Max Kellermann's avatar
      output/alsa: use a new I/O thread with real-time scheduling · d29d186d
      Max Kellermann authored
      The normal I/O event thread can have a large latency, e.g. when
      libgnutls loads all TLS CA certificates for a https connect.  This
      makes it unreliable for the ALSA I/O notifications, and causes ring
      buffer xruns.  To avoid interfering with high latency events such as
      CURL's, we move the ALSA I/O events to a separate I/O thread which
      also obtains real-time scheduling (if possible).
      
      Closes #221
      d29d186d
  5. 29 Jan, 2018 2 commits
  6. 18 Aug, 2017 1 commit
  7. 10 Feb, 2017 4 commits
  8. 03 Jan, 2017 1 commit
  9. 26 Feb, 2016 1 commit
  10. 01 Jan, 2015 1 commit
  11. 25 Nov, 2014 1 commit
  12. 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
  13. 13 Jan, 2014 1 commit
  14. 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
  15. 31 Dec, 2013 1 commit
  16. 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
  17. 15 Oct, 2013 1 commit
  18. 10 Aug, 2013 1 commit
  19. 08 Aug, 2013 1 commit
  20. 07 Aug, 2013 3 commits
  21. 08 Apr, 2013 1 commit
  22. 14 Jan, 2013 2 commits
  23. 03 Jan, 2013 1 commit
  24. 02 Jan, 2013 1 commit
  25. 29 Jan, 2011 1 commit
  26. 01 Jan, 2010 1 commit
  27. 25 Sep, 2009 1 commit
  28. 13 Mar, 2009 1 commit
    • Avuton Olrich's avatar
      all: Update copyright header. · 0aee49bd
      Avuton Olrich authored
      This updates the copyright header to all be the same, which is
      pretty much an update of where to mail request for a copy of the GPL
      and the years of the MPD project. This also puts all committers under
      'The Music Player Project' umbrella. These entries should go
      individually in the AUTHORS file, for consistancy.
      0aee49bd
  29. 18 Jan, 2009 2 commits
  30. 03 Jan, 2009 1 commit
  31. 02 Dec, 2008 1 commit