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 ()
 must be called once before any call to thread_cancellation class's methods
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::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.

Referenced by libdar::null_file::inherited_read(), and libdar::null_file::inherited_write().

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

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


The documentation for this class was generated from the following file:
Generated on Wed Jun 13 02:41:26 2007 for Disk ARchive by  doxygen 1.5.2