Disk ARchive
2.7.15
Full featured and portable backup and archiving tool
|
class to be used as parent to provide checkpoints to inherited classes More...
#include <thread_cancellation.hpp>
Public Member Functions | |
thread_cancellation () | |
the constructor | |
thread_cancellation (const thread_cancellation &ref)=default | |
copy constructor | |
thread_cancellation (thread_cancellation &&ref) noexcept=default | |
move constructor | |
thread_cancellation & | operator= (const thread_cancellation &ref)=default |
assignment operator | |
thread_cancellation & | operator= (thread_cancellation &&ref) noexcept=default |
move operator | |
virtual | ~thread_cancellation () noexcept(false) |
the destructor | |
void | check_self_cancellation () const |
Checkpoint test : whether the current libdar call must abort or not. More... | |
void | block_delayed_cancellation (bool mode) |
Static Public Member Functions | |
static U_I | count () |
method for debugging/control purposes | |
class to be used as parent to provide checkpoints to inherited classes
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 the code that called libdar
Definition at line 68 of file thread_cancellation.hpp.
void libdar::thread_cancellation::block_delayed_cancellation | ( | bool | mode | ) |
by default delayed (non immediate) cancellation generate a specific exception, it is possible for delayed cancellation only, do block such exceptions for a certain time
[in] | mode | can be set to true to block delayed cancellations |
void libdar::thread_cancellation::check_self_cancellation | ( | ) | const |
Checkpoint test : whether the current libdar call must abort or not.
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().