/* * exit.c * * Description: * This translation unit implements routines associated with exiting from * a thread. */ #include "pthread.h" #include "implement.h" /* * Code contributed by John E. Bossom . */ int pthread_exit (void *value_ptr) /* * ------------------------------------------------------ * DOCPUBLIC * This function terminates the calling thread, returning * the value 'value_ptr' to any joining thread. * * PARAMETERS * value_ptr * a generic data value (i.e. not the address of a value) * * * DESCRIPTION * This function terminates the calling thread, returning * the value 'value_ptr' to any joining thread. * NOTE: thread should be joinable. * * RESULTS * N/A * * ------------------------------------------------------ */ { _pthread_callUserDestroyRoutines((pthread_t) pthread_getspecific(_pthread_selfThreadKey)); _endthreadex ((unsigned) value_ptr); return (0); } /* pthread_exit */ /* */