I did some testing without the extra mutex, and it looks good to go.  Due to the UNIX documentation for the pthread signalling(that Henry pointed out), the behavior is the same.

"William A. Rowe, Jr." <wrowe@rowe-clan.net> wrote:
At 04:56 PM 7/20/2005, Henry Jen wrote:

>Good catch, you also need to reset cond->signalled.
>I adapted your changes on the "else if" also the static INLINE internal function and created a new patch.

This is definitely coolness; do you two agree this is the complete
patch for locks/win32/thread_cond.c? If so, I'll commit this flavor
in a couple hours after you both look it over one last time.

I'm afraid, never having used condvars, that I'm not 100% certain
about the expected behavior, so I'm not the best reviewer. Thanks
to you both for spending cycles examining this code.

FYI - in the future be careful to tag [PATCH apr-1.2] or something
in the subject so that patches aren't lost in the noise of a longer
conversation.

Bill


Start your day with Yahoo! - make it your home page