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);