Re: rwlock(9) and mutex(9) definitions

Gleb Smirnoff <[email protected]>
Newsgroups gmane.os.freebsd.architechture
Message-ID <[email protected]>
On Wed, Oct 27, 2021 at 08:11:13AM +0300, Konstantin Belousov wrote:
K> > Okay, let's put return aside. This would compile with true
K> > functions (e.g. WITNESS), otherwise not:
K> > 
K> > void
K> > something(bool clue)
K> > {
K> > 	clue ? rw_rlock(lock) : rw_wlock(lock);
K> > }
K> > 
K> > And this is correct code per 6.5.15.
K> 
K> So why cannot you write it as 
K> ...
K> 	if (clue)
K> 		rw_rlock(lock);
K> 	else
K> 		rw_wlock(lock);

Of course I can. But manual page rwlock(9) says I can treat them as functions, thus
use in conditional operator.

My point is that the fact that I can work around this, doesn't justify the
problem not being fixed.

What is a downside of wrapping them in "__extension__ ({ })"?

-- 
Gleb Smirnoff
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.