36#ifndef THREAD_CANCELLATION_HPP
37#define THREAD_CANCELLATION_HPP
68 class thread_cancellation
181 static pthread_mutex_t access;
182 static std::list<thread_cancellation *> info;
183 static std::list<fields> preborn;
184 static std::multimap<pthread_t, pthread_t> thread_asso;
187 static void set_cancellation_in_info_for(pthread_t tid,
194 static void add_to_preborn(pthread_t tid,
bool x_immediate, U_64 x_flag);
195 static void remove_from_preborn(pthread_t tid,
bool & found,
bool & prev);
196 static void find_asso_tid_with(pthread_t tid,
197 std::multimap<pthread_t, pthread_t>::iterator & begin,
198 std::multimap<pthread_t, pthread_t>::iterator & end);
class to be used as parent to provide checkpoints to inherited classes
static U_I count()
method for debugging/control purposes
thread_cancellation(thread_cancellation &&ref) noexcept=default
move constructor
virtual ~thread_cancellation() noexcept(false)
the destructor
thread_cancellation(const thread_cancellation &ref)=default
copy constructor
void block_delayed_cancellation(bool mode)
thread_cancellation & operator=(const thread_cancellation &ref)=default
assignment operator
thread_cancellation()
the constructor
void check_self_cancellation() const
Checkpoint test : whether the current libdar call must abort or not.
include macro defined by the configure script and some specific additional ones
libdar namespace encapsulate all libdar symbols
contains all the excetion class thrown by libdar
are defined here basic integer types that tend to be portable