Current-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: pthread_cond_signal/broadcast: necessary to hold mutex?
On Mon, Mar 23, 2026 at 10:39:55PM +0100, Tobias Nygren wrote:
> On Mon, 23 Mar 2026 21:50:41 +0100
> Thomas Klausner <wiz%netbsd.org@localhost> wrote:
>
> > - Time for a bug report?
> > - Any ideas where this requirement comes from?
>
> The hardcopy of "DEC OSF/1 Guide to DECthreads" DEC p/n AA-Q2DPB-TK
> printed in 1994 which I happen to still have in my possession states on
> page 56 for pthread_cond_wait:
>
> ```
> Call this routine after you have locked the mutex specified in /mutex/. The results of this routine are unpredictable without first locking the mutex.
> ```
>
> This predates the first publication of pthreads in IEEE 1003.1c-1995.
> The wording strongly suggest that you should lock the mutex but doesn't
> explicitly forbid not doing so. I guess POSIX copied those semantics but
> made them more clear, as standards people do.
>
> I think it would be OK to
> s/must be held/must be held for defined behaviour/
> in our manpage.
Perhaps I gave too much context.
I'm not talking about the *wait* part, I agree that the mutex needs to
be held there.
I was only talking about *signal and *broadcast.
Thomas
Home |
Main Index |
Thread Index |
Old Index