It's interesting that your system behaves so differently. (I
believe signals are supposed to interrupt condition variable
waits--perhaps you're system is being flooded by them?)
There are a few things you could try, including:
o Disabling signals in the created threads. To do this, you
have to
> -Original Message-
> From: Michael Labhard [mailto:[EMAIL PROTECTED]]
> Sent: Wednesday, April 17, 2002 10:51 PM
> To: [EMAIL PROTECTED]
> Subject: Re: pthread_cond_wait does not relock mutex on release
>
>
> Robert and Gerald:
>
> Both qui
Robert and Gerald:
Both quite right. Although adding the SAFE_PRINTF made no
difference in the
output, checking a condition value in a loop made all the difference.
Putting a printf in the loop revealed to my surprise that "spurious wakeups"
were occurring thousands of times per se
> -Original Message-
> From: Michael Labhard [mailto:[EMAIL PROTECTED]]
> Sent: Wednesday, April 17, 2002 5:01 AM
> To: [EMAIL PROTECTED]
> Subject: pthread_cond_wait does not relock mutex on release
>
>
> Don't no if anyone else has noticed this:
Don't no if anyone else has noticed this: the pthread_cond_wait when
signalled does not lock the associated mutex again. Thus the expected
output of the attached program should be
create Test
start
bar mutex lock and wait
foo mutex lock
foo mutex lock and signal condition then sleep...
foo mute
5 matches
Mail list logo