aboutsummaryrefslogtreecommitdiffstats
path: root/src/main_notify.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* main_notify: define main_task so we can use it for assertionsEric Wong2008-10-031-0/+4
| | | | | It'll be easier to keep track of what code runs in what task/thread this way.
* core rewrite (decode,player,outputBuffer,playlist)Eric Wong2008-08-161-6/+0
| | | | | | | | | | | | | This is a huge refactoring of the core mpd process. The queueing/buffering mechanism is heavily reworked. The player.c code has been merged into outputBuffer (the actual ring buffering logic is handled by ringbuf.c); and decode.c actually handles decoding stuff. The end result is several hundreds of lines shorter, even though we still have a lot of DEBUG statements left in there for tracing and a lot of assertions, too.
* Fix the problem of songs not advancing without client activityEric Wong2008-04-121-0/+34
The select() in the main event loop blocks now (saving us many unnecessary wakeups). This interacted badly with the threads that were trying to wakeup the main task via pthread_cond_signal() since the main task was not blocked on a condition variable, but on select(). So now if we detect a need to wakeup the player, we write to a pipe which select() is watching instead of blindly calling pthread_cond_signal(). git-svn-id: https://svn.musicpd.org/mpd/trunk@7347 09075e82-0dd4-0310-85a5-a0d7c8717e4f