Sun Microsystems, Inc.
spacerspacer
spacer   www.sun.com docs.sun.com | | |  
spacer
black dot
   
A   B   C   D   E   F   G   H   I   J   K   L   M   N   O   P   Q   R   S   T   U   V   W   X   Y   Z
    
 
Threads Library Functionspthread_setcancelstate(3THR)


NAME

 pthread_setcancelstate - enable or disable cancellation

SYNOPSIS

 
cc -mt [ flag... ] file... -lpthread [ -lrt library... ]

#include <pthread.h>
int pthread_setcancelstate(int state, int *oldstate);

DESCRIPTION

 

pthread_setcancelstate() atomically sets the calling thread's cancellation state to the specified state and if oldstate is not NULL, stores the previous cancellation state in oldstate.

The state can be either of the following:

PTHREAD_CANCEL_ENABLE
This is the default. When cancellation is deferred (deferred cancellation is also the default), cancellation occurs when the target thread reaches a cancellation point and a cancel is pending. When cancellation is asynchronous, receipt of a pthread_cancel(3THR) call causes immediate cancellation.
PTHREAD_CANCEL_DISABLE
When cancellation is deferred, all cancellation requests to the target thread are held pending. When cancellation is asynchronous, all cancellation requests to the target thread are held pending; as soon as cancellation is re-enabled, pending cancellations are executed immediately.

See cancellation(3THR) for the definition of a cancellation point and a discussion of cancellation concepts. See pthread_setcanceltype(3THR) for explanations of deferred and asynchronous cancellation.

pthread_setcancelstate() is a cancellation point when it is called with PTHREAD_CANCEL_ENABLE and the cancellation type is PTHREAD_CANCEL_ASYNCHRONOUS.

RETURN VALUES

 

Upon successful completion, pthread_setcancelstate(), returns 0. Otherwise, an error number is returned to indicate the error.

ERRORS

 

The pthread_setcancelstate() function will fail if:

EINVAL
The specified state is not PTHREAD_CANCEL_ENABLE or PTHREAD_CANCEL_DISABLE.

ATTRIBUTES

 

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPEATTRIBUTE VALUE
MT-LevelMT-Safe

SEE ALSO

 

cancellation(3THR), condition(3THR), pthread_cancel(3THR), pthread_cleanup_pop(3THR), pthread_cleanup_push(3THR), pthread_exit(3THR), pthread_join(3THR), pthread_setcanceltype(3THR), pthread_testcancel(3THR), setjmp(3C), attributes(5)


SunOS 5.9Go To TopLast Changed 3 Jun 1998

 
      
      
Copyright 2002 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.