|
Disk ARchive
2.4.2
|
class to be used as parent to provide checkpoints to inherited classes More...
#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 |
| Checkpoint test : whether the current libdar call must abort or not. | |
| void | block_delayed_cancellation (bool mode) |
Static Public Member Functions | |
| static void | init () |
| mandatory initialization static method | |
| 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
| 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().
| static void libdar::thread_cancellation::init | ( | ) | [static] |
mandatory initialization static method
must be called once before any call to thread_cancellation class's methods
1.7.5