Cheng Sun <[email protected]> writes:

> ---
>  libavcodec/pthread.c |    3 ++-
>  1 files changed, 2 insertions(+), 1 deletions(-)
>
> diff --git a/libavcodec/pthread.c b/libavcodec/pthread.c
> index 3364376..dae28e6 100644
> --- a/libavcodec/pthread.c
> +++ b/libavcodec/pthread.c
> @@ -651,7 +651,8 @@ static void frame_thread_free(AVCodecContext *avctx,
> int thread_count)
>          pthread_cond_signal(&p->input_cond);
>          pthread_mutex_unlock(&p->mutex);
>  
> -        pthread_join(p->thread, NULL);
> +        if (p->thread)
> +            pthread_join(p->thread, NULL);

This is wrong.  pthread_t doesn't have to be a pointer or even a scalar
type.  I vaguely recall actually seeing a system where it wasn't, but I
can't remember which it might have been.

-- 
Måns Rullgård
[email protected]
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to