1. 09 Feb, 2017 1 commit
  2. 03 Jan, 2017 2 commits
  3. 28 Dec, 2016 1 commit
  4. 27 Dec, 2016 1 commit
  5. 26 Feb, 2016 1 commit
  6. 01 Jan, 2015 1 commit
  7. 14 Dec, 2014 1 commit
  8. 04 Feb, 2014 1 commit
  9. 13 Jan, 2014 1 commit
  10. 09 Jan, 2014 2 commits
  11. 06 Jan, 2014 2 commits
  12. 05 Jan, 2014 6 commits
  13. 04 Jan, 2014 5 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/Loop: remove bogus "!quit" assertion · 19424e95
      Max Kellermann authored
      Commit 1f119597 allowed modifying the "quit" attribute from any thread,
      and thus the assertion may fail spuriously.  This assertion is too
      strict for the relaxed use of "quit".  Let's remove it and move the
      "quit" check to before the SockedMonitor::Dispatch() call.
      19424e95
    • Max Kellermann's avatar
      0f9ef250
    • Max Kellermann's avatar
      event/Loop: non-recursive Break() implementation · 1f119597
      Max Kellermann authored
      Simply set the "quit" flag and wake up the thread.  This works even if
      we're inside this thread.  Setting "quit" to a new value without mutex
      protection is usually not safe, but good enough here.
      1f119597
    • 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
  14. 28 Nov, 2013 1 commit
  15. 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
  16. 06 Nov, 2013 1 commit
  17. 28 Oct, 2013 1 commit
  18. 15 Oct, 2013 1 commit
  19. 10 Aug, 2013 3 commits
  20. 08 Aug, 2013 2 commits
  21. 07 Aug, 2013 3 commits
  22. 08 Apr, 2013 1 commit
  23. 14 Jan, 2013 1 commit