NAME | SYNOPSIS | API RESTRICTIONS | DESCRIPTION | RETURN VALUES | ERRORS | EXAMPLES | ATTRIBUTES | SEE ALSO | NOTES
$(OS_DIR)/lib/libpthreads.a #include <pthread.h>void pthread_testcancel();
The function or functions documented here may not be used safely in all application contexts with all APIs provided in the ChorusOS 5.0 product.
See API(5FEA) for details.
The pthread_testcancel() function forces testing for cancellation. This is useful when you need to execute code that runs for long periods without encountering cancellation points, such as a library routine that executes long-running computations without cancellation points. This type of code can block cancellation for unacceptable periods of time. One strategy to avoid blocking cancellation for long periods is to insert calls to pthread_testcancel() in the long-running computation code and to set up a cancellation handler in the library code, if required.
The pthread_testcancel() function returns a void.
The pthread_testcancel() function does not return errors.
See attributes(5)for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
---|---|
Interface Stability | Evolving |
cancellation(3POSIX), pthread_cleanup_pop(3POSIX), pthread_cleanup_push(3POSIX), pthread_exit(3POSIX), pthread_join(3POSIX), pthread_setcancelstate(3POSIX), pthread_setcanceltype(3POSIX)
When you use pthread_testcancel(), pthread_setcanceltype() must be called with its canceltype set to PTHREAD_CANCEL_DEFERRED. The pthread_testcancel() function is undefined if pthread_setcanceltype() was called with its canceltype argument set to PTHREAD_CANCEL_ASYNCHRONOUS.
NAME | SYNOPSIS | API RESTRICTIONS | DESCRIPTION | RETURN VALUES | ERRORS | EXAMPLES | ATTRIBUTES | SEE ALSO | NOTES