[FFmpeg-cvslog] pthread: Change a signal to a broadcast as multiple threads
Michael Niedermayer
git at videolan.org
Sun Jan 22 23:42:44 CET 2012
ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Sun Jan 22 21:13:10 2012 +0100| [199d4478de102ca7987adb97f2e66a1820a98ebd] | committer: Michael Niedermayer
pthread: Change a signal to a broadcast as multiple threads
have been seen waiting and deadlocking on it in bug125.
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=199d4478de102ca7987adb97f2e66a1820a98ebd
---
libavcodec/pthread.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/libavcodec/pthread.c b/libavcodec/pthread.c
index e0921e4..35f8137 100644
--- a/libavcodec/pthread.c
+++ b/libavcodec/pthread.c
@@ -960,7 +960,7 @@ int ff_thread_get_buffer(AVCodecContext *avctx, AVFrame *f)
p->requested_frame = f;
p->state = STATE_GET_BUFFER;
pthread_mutex_lock(&p->progress_mutex);
- pthread_cond_signal(&p->progress_cond);
+ pthread_cond_broadcast(&p->progress_cond);
while (p->state != STATE_SETTING_UP)
pthread_cond_wait(&p->progress_cond, &p->progress_mutex);
More information about the ffmpeg-cvslog
mailing list