/sys$common/syshlp/HELPLIB.HLB  —  POSIX Threads, PTHREAD routines, pthread_exit
    Terminates the calling thread.

1  –  C Binding

    #include <pthread.h>

    void
    pthread_exit (
             void   *value_ptr);

2  –  Arguments

 value_ptr

    Value copied and returned to the caller of pthread_join(). Note
    that void * is used as a universal datatype, not as a pointer.
    The Threads Library treats the value_ptr as a value and stores it
    to be returned by pthread_join().

3  –  Description

    This routine terminates the calling thread and makes a status
    value (value_ptr) available to any thread that calls pthread_
    join() and specifies the terminating thread.

    Any cleanup handlers that have been pushed and not yet popped
    from the stack are popped in the reverse order that they were
    pushed and then executed. After all cleanup handlers have been
    executed, appropriate destructor functions are called in an
    unspecified order if the thread has any thread-specific data.
    Thread termination does not release any application-visible
    process resources, including, but not limited to mutexes and
    file descriptors, nor does it perform any process-level cleanup
    actions, including, but not limited to calling any atexit()
    routine that may exist.

    The Threads Library issues an implicit call to pthread_exit()
    when a thread returns from the start routine that was used to
    create it. The Threads Library writes the function's return value
    as the return value in the thread's thread object. The process
    exits when the last running thread calls pthread_exit().

    After a thread has terminated, the result of access to local
    (that is, explicitly or implicitly declared auto) variables
    of the thread is undefined. So, do not use references to local
    variables of the existing thread for the value_ptr argument of
    the pthread_exit() routine.

4  –  Return Values

    None

5  –  Associated Routines

       pthread_cancel()
       pthread_create()
       pthread_detach()
       pthread_join()
Close Help