diff options
author | Max Kellermann <max@duempel.org> | 2010-11-04 23:40:43 +0100 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2010-11-04 23:40:43 +0100 |
commit | 2ee047a1ddf2bb4d7e25a259492952c6128a749d (patch) | |
tree | ce0abe021b3e2a26d394188c3bccfb42a95bbda2 /src | |
parent | 9562f667412dc620bed7299477c8a5bd86e399c4 (diff) | |
download | mpd-2ee047a1ddf2bb4d7e25a259492952c6128a749d.tar.gz mpd-2ee047a1ddf2bb4d7e25a259492952c6128a749d.tar.xz mpd-2ee047a1ddf2bb4d7e25a259492952c6128a749d.zip |
output_internal: protect attribute "fail_timer" with mutex
Diffstat (limited to 'src')
-rw-r--r-- | src/output_internal.h | 3 | ||||
-rw-r--r-- | src/output_thread.c | 5 |
2 files changed, 7 insertions, 1 deletions
diff --git a/src/output_internal.h b/src/output_internal.h index 72596c1c3..b863c9ecc 100644 --- a/src/output_internal.h +++ b/src/output_internal.h @@ -131,7 +131,8 @@ struct audio_output { const struct music_pipe *pipe; /** - * This mutex protects #open, #chunk and #chunk_finished. + * This mutex protects #open, #fail_timer, #chunk and + * #chunk_finished. */ GMutex *mutex; diff --git a/src/output_thread.c b/src/output_thread.c index e652eae57..b97694169 100644 --- a/src/output_thread.c +++ b/src/output_thread.c @@ -105,7 +105,12 @@ ao_play_chunk(struct audio_output *ao, const struct music_chunk *chunk) /* don't automatically reopen this device for 10 seconds */ + g_mutex_lock(ao->mutex); + + assert(ao->fail_timer == NULL); ao->fail_timer = g_timer_new(); + + g_mutex_unlock(ao->mutex); return false; } |