diff options
Diffstat (limited to 'src/thread/pthread_setcancelstate.c')
| -rw-r--r-- | src/thread/pthread_setcancelstate.c | 4 | 
1 files changed, 2 insertions, 2 deletions
| diff --git a/src/thread/pthread_setcancelstate.c b/src/thread/pthread_setcancelstate.c index 23c38851..a85cc800 100644 --- a/src/thread/pthread_setcancelstate.c +++ b/src/thread/pthread_setcancelstate.c @@ -3,8 +3,8 @@  int pthread_setcancelstate(int new, int *old)  {  	struct pthread *self = pthread_self(); -	if (old) *old = self->canceldisable; +	if (old) *old = self->canceldisable & 1;  	if ((unsigned)new > 1) return EINVAL; -	self->canceldisable = new; +	self->canceldisable = (self->canceldisable & ~1) | new;  	return 0;  } | 
