• Max Kellermann's avatar
    output: protect audio_output.open with the mutex · 4dbf73d8
    Max Kellermann authored
    There was a deadlock between the output thread and the player thread:
    when the output thread failed (and closed itself) while the player
    thread worked with the audio_output object, MPD could crash.
    4dbf73d8
Name
Last commit
Last update
..
archive Loading commit data...
decoder Loading commit data...
encoder Loading commit data...
input Loading commit data...
mixer Loading commit data...
output Loading commit data...
ack.h Loading commit data...
aiff.c Loading commit data...
aiff.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...
audio_format.h Loading commit data...
audio_parser.c Loading commit data...
audio_parser.h Loading commit data...
buffer.c Loading commit data...
buffer.h Loading commit data...
buffer2array.c Loading commit data...
buffer2array.h Loading commit data...
chunk.c Loading commit data...
chunk.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...
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_buffer.c Loading commit data...
decoder_buffer.h Loading commit data...
decoder_command.h Loading commit data...
decoder_control.c Loading commit data...
decoder_control.h Loading commit data...
decoder_internal.c Loading commit data...
decoder_internal.h Loading commit data...
decoder_list.c Loading commit data...
decoder_list.h Loading commit data...
decoder_plugin.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...
encoder_api.h Loading commit data...
encoder_list.c Loading commit data...
encoder_list.h Loading commit data...
encoder_plugin.h Loading commit data...
event_pipe.c Loading commit data...
event_pipe.h Loading commit data...
fifo_buffer.c Loading commit data...
fifo_buffer.h Loading commit data...
gcc.h Loading commit data...
icy_metadata.c Loading commit data...
icy_metadata.h Loading commit data...
idle.c Loading commit data...
idle.h Loading commit data...
input_plugin.h Loading commit data...
input_stream.c Loading commit data...
input_stream.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.h Loading commit data...
mapper.c Loading commit data...
mapper.h Loading commit data...
mixer_all.c Loading commit data...
mixer_all.h Loading commit data...
mixer_api.c Loading commit data...
mixer_api.h Loading commit data...
mixer_control.c Loading commit data...
mixer_control.h Loading commit data...
mixer_list.h Loading commit data...
mixer_plugin.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_all.c Loading commit data...
output_all.h Loading commit data...
output_api.h Loading commit data...
output_command.c Loading commit data...
output_command.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_plugin.h Loading commit data...
output_print.c Loading commit data...
output_print.h Loading commit data...
output_state.c Loading commit data...
output_state.h Loading commit data...
output_thread.c Loading commit data...
output_thread.h Loading commit data...
page.c Loading commit data...
page.h Loading commit data...
path.c Loading commit data...
path.h Loading commit data...
pcm_buffer.h Loading commit data...
pcm_channels.c Loading commit data...
pcm_channels.h Loading commit data...
pcm_convert.c Loading commit data...
pcm_convert.h Loading commit data...
pcm_dither.c Loading commit data...
pcm_dither.h Loading commit data...
pcm_format.c Loading commit data...
pcm_format.h Loading commit data...
pcm_mix.c Loading commit data...
pcm_mix.h Loading commit data...
pcm_prng.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_internal.h Loading commit data...
pcm_resample_libsamplerate.c Loading commit data...
pcm_utils.h Loading commit data...
pcm_volume.c Loading commit data...
pcm_volume.h Loading commit data...
permission.c Loading commit data...
permission.h Loading commit data...
pipe.c Loading commit data...
pipe.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_control.c Loading commit data...
playlist_edit.c Loading commit data...
playlist_global.c Loading commit data...
playlist_internal.h Loading commit data...
playlist_print.c Loading commit data...
playlist_print.h Loading commit data...
playlist_save.c Loading commit data...
playlist_save.h Loading commit data...
playlist_state.c Loading commit data...
playlist_state.h Loading commit data...
poison.h Loading commit data...
queue.c Loading commit data...
queue.h Loading commit data...
queue_print.c Loading commit data...
queue_print.h Loading commit data...
queue_save.c Loading commit data...
queue_save.h Loading commit data...
replay_gain.c Loading commit data...
replay_gain.h Loading commit data...
riff.c Loading commit data...
riff.h Loading commit data...
sig_handlers.c Loading commit data...
sig_handlers.h Loading commit data...
socket_util.c Loading commit data...
socket_util.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...
song_sticker.c Loading commit data...
song_sticker.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...
sticker.c Loading commit data...
sticker.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_ape.c Loading commit data...
tag_ape.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...
uri.c Loading commit data...
uri.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...