198 void join() {pthread_join(thread, 0);}
223 bool is_caller() {
return pthread_equal(thread, pthread_self());}
286 #ifdef CGU_USE_AUTO_PTR
294 #ifdef CGU_USE_GLIB_MEMORY_SLICES_NO_COMPAT
391 std::unique_ptr<Cgu::Thread::Thread> thread;
500 #ifdef CGU_USE_AUTO_PTR
553 #ifdef CGU_USE_AUTO_PTR
554 JoinableHandle(std::auto_ptr<Cgu::Thread::Thread> thr,
Action act): action(act), detached(false), thread(thr.release()) {}
556 JoinableHandle(std::unique_ptr<Cgu::Thread::Thread> thr,
Action act): action(act), detached(false), thread(std::move(thr)) {}
588 #ifdef CGU_USE_AUTO_PTR
685 static int block(
int& old_state) {
return pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, &old_state);}
713 static int unblock(
int& old_state) {
return pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, &old_state);}
739 int restore(
int& old_state) {
return pthread_setcancelstate(starting_state, &old_state);}