summaryrefslogtreecommitdiff
path: root/src/thread/pthread_setcancelstate.c
blob: 2268217d460a9235651cc7954cc35ed3c76595b9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
#include "pthread_impl.h"

int __pthread_setcancelstate(int new, int *old)
{
	if (new > 1U) return EINVAL;
	if (!libc.has_thread_pointer) return ENOSYS;
	struct pthread *self = __pthread_self();
	if (old) *old = self->canceldisable;
	self->canceldisable = new;
	return 0;
}

weak_alias(__pthread_setcancelstate, pthread_setcancelstate);