blob: b906492fb9afdba09d527bb229f5bd0371dbc4bc (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
#include <unistd.h>
#include <errno.h>
#include <pthread.h>
#include "thread_internal.h"
int pthread_setcancelstate(int state, int *oldstate)
{
_pthread_descr thread;
__THREAD_INIT();
if ((state==PTHREAD_CANCEL_ENABLE) || (state==PTHREAD_CANCEL_DISABLE))
{
thread = __thread_self();
if (oldstate) *oldstate = thread->cancelstate;
thread->cancelstate = state;
return 0;
}
(*(__errno_location()))=EINVAL;
return -1;
}
|