1. 29 Sep, 2008 3 commits
    • Eric Wong's avatar
      songvec_free => songvec_destroy · 6075119f
      Eric Wong authored
      "free" implies the songvec structure itself is freed,
      which is not the case.
      6075119f
    • Eric Wong's avatar
      directory.c: kill unnecessary includes · 5ec57811
      Eric Wong authored
      5ec57811
    • Eric Wong's avatar
      directory: update playlist version if updated · 52a0ea2d
      Eric Wong authored
      If we updated the mpd metadata database; then there's a chance
      some of those songs in the playlist will have updated metadata.
      So be on the safe side and increment the playlist version number
      if _any_ song changed (this is how all released versions of mpd
      did it, too).
      
      This bug was introduced recently when making "update" threaded.
      
      Thanks to stonecrest for the bug report.
      52a0ea2d
  2. 28 Sep, 2008 6 commits
  3. 26 Sep, 2008 3 commits
    • 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
    • Max Kellermann's avatar
      song: removed type SongList · 323e8648
      Max Kellermann authored
      SongList has been superseded by struct songvec.
      323e8648
    • Max Kellermann's avatar
      audio_output: workaround for deadlock · e2a12dee
      Max Kellermann authored
      During debugging, I found a deadlock between flushAudioBuffer() and
      the audio_output_task(): audio_output_task() didn't notice that there
      is a command, and flushAudioBuffer() waited forever in notify_wait().
      I am not sure yet what is the real cause; work around this for now by
      waking up non-finished audio outputs in every iteration.
      e2a12dee
  4. 25 Sep, 2008 1 commit
    • Max Kellermann's avatar
      update: send proper response to the client · 05f66e04
      Max Kellermann authored
      Due to a merge error, I broke the function handleUpdate().  It did not
      do anything for the global update, and it did not send a proper
      response to the client.  This patch fixes both bugs.
      05f66e04
  5. 24 Sep, 2008 15 commits
  6. 23 Sep, 2008 12 commits