1. 19 Feb, 2009 1 commit
  2. 10 Jan, 2009 1 commit
  3. 04 Jan, 2009 1 commit
  4. 03 Jan, 2009 5 commits
  5. 02 Jan, 2009 1 commit
  6. 01 Jan, 2009 4 commits
  7. 30 Dec, 2008 4 commits
    • Max Kellermann's avatar
      main_notify: removed lock()/unlock() · dd0f8e42
      Max Kellermann authored
      These functions are not used anymore since we use the GLib main loop.
      dd0f8e42
    • Max Kellermann's avatar
      main: use the GLib main loop · 71e7ce5d
      Max Kellermann authored
      This is a rather huge patch, which unfortunately cannot be splitted.
      
      Instead of using our custom ioops.h library, convert everything to use
      the GLib main loop.
      71e7ce5d
    • Max Kellermann's avatar
      main_notify: make the read side of the pipe blocking · 03e650aa
      Max Kellermann authored
      Currently, both sides of the pipe are blocking, although we do not
      need blocking read().  Convert it back to blocking.  Eliminate the
      select() from wait_main_task().
      03e650aa
    • Max Kellermann's avatar
      main_notify: removed notify object, use only pipe · 10b5966b
      Max Kellermann authored
      To wake up the main thread, don't attempt to use a GCond/GMutex
      (struct notify).  This kind of mixed wakeup method has known race
      conditions.
      
      The idea behind this patch is: for wakeups which happen while the main
      thread is sleeping, use only a pipe.  For wakeups which happen while
      the main thread is waiting for the player thread, we can later change
      to GCond.  For now, accept the overhead of using a pipe for the
      latter.
      
      In the long run, the main thread will never wait for the player
      thread, but will do everything asynchronously.
      10b5966b
  8. 28 Dec, 2008 1 commit
  9. 24 Nov, 2008 1 commit
  10. 08 Oct, 2008 2 commits
  11. 06 Oct, 2008 1 commit
  12. 26 Sep, 2008 1 commit
    • Max Kellermann's avatar
      notify: protect notify->pending with the mutex · 58554e14
      Max Kellermann authored
      There was a known deadlocking bug in the notify library: when the
      other thread set notify->pending after the according check in
      notify_wait(), the latter thread was deadlocked.  Resolve this by
      synchronizing all accesses to notify->pending with the notify object's
      mutex.  Since notify_signal_sync() was never used, we can remove it.
      As a consequence, we don't need notify_enter() and notify_leave()
      anymore; eliminate them, too.
      58554e14
  13. 24 Sep, 2008 1 commit
  14. 23 Sep, 2008 2 commits
  15. 26 Aug, 2008 1 commit
  16. 17 Apr, 2008 1 commit
    • Max Kellermann's avatar
      fix race condition in main_notify.c · 3c3620b3
      Max Kellermann authored
      The function wait_main_task() is racy: if the function
      wakeup_via_cond() sees the mutex is locked just before
      wait_main_task() executes pthread_cond_wait(), the main thread blocks
      forever.
      
      Work around this issue by adding a "pending" flag just like in my
      notify.c code.  A standards-compliant solution should be implemented
      later.
      
      git-svn-id: https://svn.musicpd.org/mpd/trunk@7365 09075e82-0dd4-0310-85a5-a0d7c8717e4f
      3c3620b3
  17. 13 Apr, 2008 1 commit
  18. 12 Apr, 2008 3 commits