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
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
