mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2024-12-25 00:32:31 +00:00
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@gmx.at>
This commit is contained in:
parent
2bb7396bfd
commit
199d4478de
@ -960,7 +960,7 @@ int ff_thread_get_buffer(AVCodecContext *avctx, AVFrame *f)
|
|||||||
p->requested_frame = f;
|
p->requested_frame = f;
|
||||||
p->state = STATE_GET_BUFFER;
|
p->state = STATE_GET_BUFFER;
|
||||||
pthread_mutex_lock(&p->progress_mutex);
|
pthread_mutex_lock(&p->progress_mutex);
|
||||||
pthread_cond_signal(&p->progress_cond);
|
pthread_cond_broadcast(&p->progress_cond);
|
||||||
|
|
||||||
while (p->state != STATE_SETTING_UP)
|
while (p->state != STATE_SETTING_UP)
|
||||||
pthread_cond_wait(&p->progress_cond, &p->progress_mutex);
|
pthread_cond_wait(&p->progress_cond, &p->progress_mutex);
|
||||||
|
Loading…
Reference in New Issue
Block a user