• 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
Name
Last commit
Last update
..
audioOutputs Loading commit data...
inputPlugins Loading commit data...
mp4ff Loading commit data...
Makefile.am Loading commit data...
ack.h Loading commit data...
audio.c Loading commit data...
audio.h Loading commit data...
audioOutput.c Loading commit data...
audioOutput.h Loading commit data...
buffer2array.c Loading commit data...
buffer2array.h Loading commit data...
charConv.c Loading commit data...
charConv.h Loading commit data...
command.c Loading commit data...
command.h Loading commit data...
compress.c Loading commit data...
compress.h Loading commit data...
conf.c Loading commit data...
conf.h Loading commit data...
dbUtils.c Loading commit data...
dbUtils.h Loading commit data...
decode.c Loading commit data...
decode.h Loading commit data...
directory.c Loading commit data...
directory.h Loading commit data...
gcc.h Loading commit data...
inputPlugin.c Loading commit data...
inputPlugin.h Loading commit data...
inputStream.c Loading commit data...
inputStream.h Loading commit data...
inputStream_file.c Loading commit data...
inputStream_file.h Loading commit data...
inputStream_http.c Loading commit data...
inputStream_http.h Loading commit data...
interface.c Loading commit data...
interface.h Loading commit data...
ioops.c Loading commit data...
ioops.h Loading commit data...
list.c Loading commit data...
list.h Loading commit data...
listen.c Loading commit data...
listen.h Loading commit data...
locate.c Loading commit data...
locate.h Loading commit data...
log.c Loading commit data...
log.h Loading commit data...
ls.c Loading commit data...
ls.h Loading commit data...
main.c Loading commit data...
main_notify.c Loading commit data...
main_notify.h Loading commit data...
metadataChunk.c Loading commit data...
metadataChunk.h Loading commit data...
mpd_types.h Loading commit data...
myfprintf.c Loading commit data...
myfprintf.h Loading commit data...
normalize.c Loading commit data...
normalize.h Loading commit data...
notify.c Loading commit data...
notify.h Loading commit data...
os_compat.h Loading commit data...
outputBuffer.c Loading commit data...
outputBuffer.h Loading commit data...
path.c Loading commit data...
path.h Loading commit data...
pcm_utils.c Loading commit data...
pcm_utils.h Loading commit data...
permission.c Loading commit data...
permission.h Loading commit data...
player.c Loading commit data...
player.h Loading commit data...
playerData.c Loading commit data...
playerData.h Loading commit data...
playlist.c Loading commit data...
playlist.h Loading commit data...
replayGain.c Loading commit data...
replayGain.h Loading commit data...
sig_handlers.c Loading commit data...
sig_handlers.h Loading commit data...
signal_check.c Loading commit data...
signal_check.h Loading commit data...
sllist.c Loading commit data...
sllist.h Loading commit data...
song.c Loading commit data...
song.h Loading commit data...
state_file.c Loading commit data...
state_file.h Loading commit data...
stats.c Loading commit data...
stats.h Loading commit data...
storedPlaylist.c Loading commit data...
storedPlaylist.h Loading commit data...
tag.c Loading commit data...
tag.h Loading commit data...
tagTracker.c Loading commit data...
tagTracker.h Loading commit data...
timer.c Loading commit data...
timer.h Loading commit data...
tree.c Loading commit data...
tree.h Loading commit data...
utf8.c Loading commit data...
utf8.h Loading commit data...
utils.c Loading commit data...
utils.h Loading commit data...
volume.c Loading commit data...
volume.h Loading commit data...
zeroconf.c Loading commit data...
zeroconf.h Loading commit data...