36 #ifndef THREAD_CANCELLATION_HPP 37 #define THREAD_CANCELLATION_HPP 39 #include "../my_config.h" 112 static void cancel(pthread_t tid,
bool x_immediate, U_64 x_flag);
118 static bool cancel_status(pthread_t tid);
124 static bool clear_pending_request(pthread_t tid);
134 static void associate_tid_to_tid(pthread_t src, pthread_t dst);
140 static void remove_association_for_tid(pthread_t src);
145 static void remove_association_targeted_at(pthread_t dst);
148 static void dead_thread(pthread_t tid);
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);
void check_self_cancellation() const
Checkpoint test : whether the current libdar call must abort or not.
are defined here basic integer types that tend to be portable
void block_delayed_cancellation(bool mode)
static U_I count()
method for debugging/control purposes
thread_cancellation & operator=(const thread_cancellation &ref)=default
assignment operator
class to be used as parent to provide checkpoints to inherited classes
contains all the excetion class thrown by libdar
thread_cancellation()
the constructor
virtual ~thread_cancellation() noexcept(false)
the destructor
libdar namespace encapsulate all libdar symbols