musl/src/thread/pthread_setcancelstate.c

16 lines
333 B
C
Raw Normal View History

2011-02-12 00:22:29 -05:00
#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;
}
2011-02-12 00:22:29 -05:00
return 0;
}