apr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Henry Jen <henry...@ztune.net>
Subject Re: [VOTE] APR 1.2.0
Date Wed, 20 Jul 2005 21:56:38 GMT
E Holyat wrote:
>   I don't use the broadcast functionality, but, it looks like that is 
> broken too.  signal_all is never reset to 0 after the broadcast function 
> sets it to 1.  Here is an untested fix
>  
>        cond->num_waiting--;/*we have the lock(s)*/
>        if (cond->signal_all) {
>    if (cond->num_waiting == 0) {
> +      cond->signal_all=0;
>       ResetEvent(cond->event);
>    }
>    done=1;
>        }
>        else if (cond->signalled) {
>    cond->signalled = 0;
>    ResetEvent(cond->event);
>    done=1;
>        }


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.

Cheers,
Henry

Mime
View raw message