#include "pthread_impl.h" | |
int pthread_setcancelstate(int new, int *old) | |
{ | |
if (new > 1U) return EINVAL; | |
if (libc.main_thread) { | |
struct pthread *self = __pthread_self(); | |
if (old) *old = self->canceldisable; | |
self->canceldisable = new; | |
} else { | |
if (old) *old = libc.canceldisable; | |
libc.canceldisable = new; | |
} | |
return 0; | |
} |