#include <thread_cancellation.hpp>
Inherited by libdar::fichier, libdar::null_file, and libdar::tuyau.
Public Member Functions | |
thread_cancellation () | |
the constructor | |
virtual | ~thread_cancellation () |
the destructor | |
void | check_self_cancellation () const |
the checkpoint where is seen whether the current libdar call must abort | |
void | block_delayed_cancellation (bool mode) |
Static Public Member Functions | |
static void | init () |
must be called once before any call to thread_cancellation class's methods | |
static U_I | count () |
method for debugging/control purposes |
the class provides a checkpoints to inherited classes and a mechanism that let any libdar external code to ask the termination of a libdar call executing in a given thread. This does not imply the termination of the thread itself but it implies the return of the thread execution to external program.
Definition at line 65 of file thread_cancellation.hpp.
void libdar::thread_cancellation::block_delayed_cancellation | ( | bool | mode | ) |
[in] | mode | can be set to true to block delayed cancellations |
void libdar::thread_cancellation::check_self_cancellation | ( | ) | const |
the checkpoint where is seen whether the current libdar call must abort
Euser_abort | is thrown if the thread the checkpoint is running from is marked as to be canceled. |
Referenced by libdar::null_file::inherited_read(), and libdar::null_file::inherited_write().