Hi,
the current definition of std::stop_source::stop_possible() [1] states that:
Returns: true if *this has ownership of a stop state;
otherwise, false.
and the current definition of std::stop_source::stop_requested() [2] states that:
Returns: true if *this has ownership of a stop state
that has received a stop request;
otherwise, false.
from these requirements it appears that stop_requested() will never return true if stop_possible() return false, but this is exactly what is required as a post condition of std::stop_source::request_stop() [3], where it says:
Postconditions: stop_Âpossible() is false
or stop_Ârequested() is true.
The issue here appears to be in the definition of std::stop_source::stop_possible() that should be made equivalent to the definition of std::stop_token::stop_possible() [4], something like:
Returns: true if *this has ownership of a stop state and a stop request was not made;
otherwise, false.
Is this really an issue? If it is, will it be considered an editorial issue or a defect?
Thanks.