Hi,

On Tue, Dec 6, 2011 at 8:02 PM, Ronald S. Bultje <[email protected]> wrote:

> On Tue, Dec 6, 2011 at 6:28 PM, Uoti Urpala <[email protected]>wrote:
>
>> On Tue, 2011-12-06 at 18:20 -0800, Ronald S. Bultje wrote:
>> > Hi,
>> >
>> > On Dec 6, 2011 6:06 PM, "Uoti Urpala" <[email protected]> wrote:
>> > > The pthread_cond_broadcast() implementation in w32pthreads.h looks
>> > > suspicious - it could wake up the same thread multiple times (if it
>> > > re-enters wait fast enough) instead of waking up all current
>> > waiters.
>> > > Maybe that is the actual problem?
>> >
>> > If that's the case grabbing and directly releasing a static lock in
>> > pthread_mutex_lock, and holding this in pthread_cond_broadcast, should
>> > fix it.
>>
>> The commit adding the current libavcodec/w32pthreads.h said "Replace our
>> incomplete w32threads implementation with x264's pthreads w32threads
>> wrapper.". However, the code does not match x264's common/win32thread.c,
>> and the x264 version looks like it does try to handle this correctly.
>
>
> Yeah that's the same as what I just said. Looks like we should implement
> that.
>

Attached patch ports x264's layer. 100% untested.

Ronald

Attachment: 0001-w32thread-port-fixes-to-pthread_cond_broadcast-from-.patch
Description: Binary data

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to