pvac::Monitor::cancel() don't clear data members
Clearing root, overrun, and changed makes it difficult to avoid a race during an async. cancel (very common).
This commit is contained in:
@@ -196,9 +196,6 @@ std::string Monitor::name() const
|
||||
|
||||
void Monitor::cancel()
|
||||
{
|
||||
changed.clear();
|
||||
overrun.clear();
|
||||
root.reset();
|
||||
if(impl) impl->cancel();
|
||||
}
|
||||
|
||||
|
||||
@@ -124,7 +124,11 @@ struct epicsShareClass Monitor
|
||||
//! Channel name
|
||||
std::string name() const;
|
||||
//! Immediate cancellation.
|
||||
//! Does not wait for remote confirmation.
|
||||
/** Does not wait for remote confirmation.
|
||||
*
|
||||
@since Up to 7.0.0 also cleared root, changed, and overrun.
|
||||
After 7.0.0, these data members are left unchanged.
|
||||
**/
|
||||
void cancel();
|
||||
/** updates root, changed, overrun
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user