#include "syscall.h"
#include "libc.h"
-#ifdef SHARED
__attribute__((__visibility__("hidden")))
-#endif
long __cancel(), __syscall_cp_asm(), __syscall_cp_c();
long __cancel()
set->__bits[s/8/sizeof *set->__bits] |= 1UL<<(s&8*sizeof *set->__bits-1);
}
-#ifdef SHARED
__attribute__((__visibility__("hidden")))
-#endif
extern const char __cp_begin[1], __cp_end[1], __cp_cancel[1];
static void cancel_handler(int sig, siginfo_t *si, void *ctx)
init = 1;
}
a_store(&t->cancel, 1);
+ if (t == pthread_self() && !t->cancelasync) return 0;
return pthread_kill(t, SIGCANCEL);
}