GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
std::stop_callback::~stop_callback(3) C++ Standard Libary std::stop_callback::~stop_callback(3)

std::stop_callback::~stop_callback - std::stop_callback::~stop_callback


~stop_callback(); (since C++20)


Destroys the stop_callback object.


If *this has a stop_token with associated stop-state, deregisters the callback from
it.


If the callback function is being invoked concurrently on another thread, the
destructor does not complete until the callback function invocation is complete. If
the callback function is being invoked on the same thread the destructor is being
invoked on, then the destructor returns without waiting for callback invocation to
complete (see Notes).


The stop_callback destructor is designed to prevent race conditions and deadlocks.
If another thread is currently invoking the callback, then the destructor cannot
return until that completes, or else the function object could potentially be
destroyed while it is being executed. The callback function is not required to be
neither copyable nor movable - it lives in the stop_callback object itself even
after registration.


On the other hand, if the current thread invoking the destructor is the same thread
that is invoking the callback, then the destructor cannot wait or else a deadlock
would occur. It is possible and valid for the same thread to be destroying the
stop_callback while it is invoking its callback function, because the callback
function might itself destroy the stop_callback, directly or indirectly.

2022.07.31 http://cppreference.com

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.