Source-Changes-D archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: CVS commit: src/lib/libpthread



On 24/08/15 14:36, Joerg Sonnenberger wrote:
On Mon, Aug 24, 2015 at 02:20:55PM +0000, Antti Kantee wrote:
On 24/08/15 13:26, Joerg Sonnenberger wrote:
On Mon, Aug 24, 2015 at 12:45:15PM +0000, Antti Kantee wrote:
I started work on this again by doing a web search for the error, and found
this:
http://bugs.musicpd.org/view.php?id=4110

There you argue that using constexpr for PTHREAD_MUTEX_INITIALIZER is
broken.  So if we assume that you are correct, shouldn't we remove the
"constexpr"s from libc++/dist/libcxx/include/__mutex_base?

Except that the standard requires it.

So are you now saying that that what you said in the above URL is wrong and
that the NetBSD headers are broken?  Let me quote the relevant part of what
you said:

Stop inventing things, please.

A simple "yes/no[, because ...]" is more effective than evading the question. I'm still not sure which one it is.

"Nothing in ISO C11, ISO C++11 or POSIX requires PTHREAD_MUTEX_INITIALIZER
to qualify for constexpr."

But now you are saying that "the standard" does require
PTHREAD_MUTEX_INITIALIZER to qualify for constexpr.

A mutex has to be constexpr constructable. That's in the standard. How a
mutex is implemented is not. Nothing in mpd requires the constexpr
property, so requiring it just makes things more difficult for no good
reason.

What I understand from that response: the same code is wrong in mpd (and presumably every other application) but right in libc++; it's standard-compliant to implement mutex in a way which does not compile.

Home | Main Index | Thread Index | Old Index