What does "uniquely associated" mean for basic_syncbuf::emit()?
Jonathan Wakely

Created on 2020-11-10.00:00:00 last changed 5 months ago


Date: 2020-11-15.00:00:00

[ 2020-11-21; Reflector prioritization ]

Set priority to 3 during reflector discussions.

Date: 2020-11-15.15:47:47

[syncstream.syncbuf.members] p5 says "May call member functions of wrapped while holding a lock uniquely associated with wrapped."

It's unclear what "uniquely associated" means. Is it required to be a one-to-one mapping, so that every streambuf* that is wrapped is associated with a different lock?

I believe the intention is only that for a given streambuf* every syncbuf that wraps it uses the same lock. The intention was that it's a valid implementation for the same lock to be used for more than one streambuf* (e.g. using a table of N locks which are indexed by a hash of the streambuf* value). The current wording can be interpreted to forbid that implementation.

Date User Action Args
2020-11-21 13:53:03adminsetmessages: + msg11620
2020-11-10 00:00:00admincreate