libdar::thread_cancellation Class Reference
[Private]

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.

List of all members.

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 ()
 mandatory initialization static method
static U_I count ()
 method for debugging/control purposes

Detailed Description

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 65 of file thread_cancellation.hpp.


Member Function Documentation

void libdar::thread_cancellation::block_delayed_cancellation ( bool  mode  ) 

by default delayed (non immediate) cancellation generate an specific exception it is possible for delayed cancellation only, do block such exceptions for a certain time

Parameters:
[in] mode can be set to true to block delayed cancellations
Note:
when unblocking delayed cancellations, if a delayed cancellation has been requested during the ignore time, it will be thrown by this call
void libdar::thread_cancellation::check_self_cancellation (  )  const

the checkpoint where is seen whether the current libdar call must abort

Exceptions:
Euser_abort is thrown if the thread the checkpoint is running from is marked as to be canceled.
static void libdar::thread_cancellation::init (  )  [static]

mandatory initialization static method

must be called once before any call to thread_cancellation class's methods


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Defines
Generated on Sun Dec 5 21:00:56 2010 for Disk ARchive by  doxygen 1.6.3