• 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
Name
Last commit
Last update
..
archive Loading commit data...
decoder Loading commit data...
output Loading commit data...
Makefile.am Loading commit data...
ack.h Loading commit data...
archive_api.c Loading commit data...
archive_api.h Loading commit data...
archive_internal.h Loading commit data...
archive_list.c Loading commit data...
archive_list.h Loading commit data...
audio.c Loading commit data...
audio.h Loading commit data...
audioOutput.c Loading commit data...
audioOutput.h Loading commit data...
audio_format.h Loading commit data...
buffer2array.c Loading commit data...
buffer2array.h Loading commit data...
client.c Loading commit data...
client.h Loading commit data...
cmdline.c Loading commit data...
cmdline.h Loading commit data...
command.c Loading commit data...
command.h Loading commit data...
compress.c Loading commit data...
compress.h Loading commit data...
condition.c Loading commit data...
condition.h Loading commit data...
conf.c Loading commit data...
conf.h Loading commit data...
crossfade.c Loading commit data...
crossfade.h Loading commit data...
daemon.c Loading commit data...
daemon.h Loading commit data...
database.c Loading commit data...
database.h Loading commit data...
dbUtils.c Loading commit data...
dbUtils.h Loading commit data...
decoder_api.c Loading commit data...
decoder_api.h Loading commit data...
decoder_control.c Loading commit data...
decoder_control.h Loading commit data...
decoder_internal.h Loading commit data...
decoder_list.c Loading commit data...
decoder_list.h Loading commit data...
decoder_thread.c Loading commit data...
decoder_thread.h Loading commit data...
directory.c Loading commit data...
directory.h Loading commit data...
directory_print.c Loading commit data...
directory_print.h Loading commit data...
directory_save.c Loading commit data...
directory_save.h Loading commit data...
dirvec.c Loading commit data...
dirvec.h Loading commit data...
dlist.h Loading commit data...
gcc.h Loading commit data...
idle.c Loading commit data...
idle.h Loading commit data...
input_archive.c Loading commit data...
input_archive.h Loading commit data...
input_curl.c Loading commit data...
input_curl.h Loading commit data...
input_file.c Loading commit data...
input_file.h Loading commit data...
input_stream.c Loading commit data...
input_stream.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...
mapper.c Loading commit data...
mapper.h Loading commit data...
normalize.c Loading commit data...
normalize.h Loading commit data...
notify.c Loading commit data...
notify.h Loading commit data...
output_api.c Loading commit data...
output_api.h Loading commit data...
output_control.c Loading commit data...
output_control.h Loading commit data...
output_init.c Loading commit data...
output_internal.h Loading commit data...
output_list.c Loading commit data...
output_list.h Loading commit data...
output_thread.c Loading commit data...
output_thread.h Loading commit data...
path.c Loading commit data...
path.h Loading commit data...
pcm_channels.c Loading commit data...
pcm_channels.h Loading commit data...
pcm_dither.c Loading commit data...
pcm_dither.h Loading commit data...
pcm_resample.c Loading commit data...
pcm_resample.h Loading commit data...
pcm_resample_fallback.c Loading commit data...
pcm_resample_libsamplerate.c 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...
pipe.c Loading commit data...
pipe.h Loading commit data...
playerData.c Loading commit data...
playerData.h Loading commit data...
player_control.c Loading commit data...
player_control.h Loading commit data...
player_thread.c Loading commit data...
player_thread.h Loading commit data...
playlist.c Loading commit data...
playlist.h Loading commit data...
playlist_save.c Loading commit data...
playlist_save.h Loading commit data...
replay_gain.c Loading commit data...
replay_gain.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...
song.c Loading commit data...
song.h Loading commit data...
song_print.c Loading commit data...
song_print.h Loading commit data...
song_save.c Loading commit data...
song_save.h Loading commit data...
songvec.c Loading commit data...
songvec.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...
stored_playlist.c Loading commit data...
stored_playlist.h Loading commit data...
strset.c Loading commit data...
strset.h Loading commit data...
tag.c Loading commit data...
tag.h Loading commit data...
tag_id3.c Loading commit data...
tag_id3.h Loading commit data...
tag_internal.h Loading commit data...
tag_pool.c Loading commit data...
tag_pool.h Loading commit data...
tag_print.c Loading commit data...
tag_print.h Loading commit data...
tag_save.c Loading commit data...
tag_save.h Loading commit data...
timer.c Loading commit data...
timer.h Loading commit data...
update.c Loading commit data...
update.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-avahi.c Loading commit data...
zeroconf-bonjour.c Loading commit data...
zeroconf-internal.h Loading commit data...
zeroconf.c Loading commit data...
zeroconf.h Loading commit data...