• Eric Wong's avatar
    Several bugfixes during exit found by valgrind · e5df85db
    Eric Wong authored
    First, make sure we call finishPlaylist() before
    closeMp3Directory() since the latter will free non-SONG_TYPE_URL
    songs in playlist, which causes an invalid read when we try to
    look for SONG_TYPE_URL songs to free in finishPlaylist.
    
    Secondly, make sure our children have all exited before freeing
    the playerData.  If we do not, slowly-delivered signals can
    trigger a race condition in the signal handlers of the decode
    and player processes which rely on getPlayerData.  To avoid
    waitpid-ing too long (or at all), move the freePlayerData() call
    farther down in main() (this won't affect anything else)
    to give the OS a better chance to deliver signals and finish running
    sig handlers for terminated children.
    
    git-svn-id: https://svn.musicpd.org/mpd/trunk@4640 09075e82-0dd4-0310-85a5-a0d7c8717e4f
    e5df85db
Name
Last commit
Last update
doc Loading commit data...
m4 Loading commit data...
scripts Loading commit data...
src Loading commit data...
AUTHORS Loading commit data...
COPYING Loading commit data...
ChangeLog Loading commit data...
INSTALL Loading commit data...
Makefile.am Loading commit data...
README Loading commit data...
TODO Loading commit data...
UPGRADING Loading commit data...
autogen.sh Loading commit data...
configure.ac Loading commit data...