MyWebUniversity.com Home Page
 



OpenSolaris man pages main menu


Standard C Library Functions                         threxit(3C)



NAME
     threxit - terminate the calling thread

SYNOPSIS
     cc -mt [ flag... ] file...[ library... ]
     #include 

     void threxit(void *status);


DESCRIPTION
     The threxit() function terminates the calling thread, in  a
     similar way that exit(3C) terminates the calling process. If
     the calling thread is not detached, then the thread's ID and
     the  exit status specified by status are retained. The value
     status is then made available to any  successful  join  with
     the terminating thread (see thrjoin(3C)); otherwise, status
     is disregarded allowing the  thread's  ID  to  be  reclaimed
     immediately.


     Any cancellation cleanup handlers that have been pushed  and
     not  yet  popped  are  popped in the reverse order that they
     were  pushed  and  then  executed.  After  all  cancellation
     cleanup  handlers  have been executed, if the thread has any
     thread-specific data, appropriate destructor functions  will
     be  called  in an unspecified order. 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() routines
     that might exist.


     An exiting thread runs with all signals blocked. All  thread
     termination   functions,   including   cancellation  cleanup
     handlers and thread-specific data destructor functions,  are
     called with all signals blocked.


     If  any  thread,  including  the    main()   thread,   calls
     threxit(), only that thread will exit.


     If main() returns or  exits  (either  implicitly  or  expli-
     citly),  or  any  thread explicitly calls exit(), the entire
     process will exit.


     The behavior of threxit() is undefined  if  called  from  a
     cancellation cleanup handler or destructor function that was
     invoked as a result of either an implicit or  explicit  call



SunOS 5.11           Last change: 2 Nov 2007                    1






Standard C Library Functions                         threxit(3C)



     to threxit().


     After a thread has terminated, the result of access to local
     (auto)  variables  of  the thread is undefined. Thus, refer-
     ences to local variables of the exiting thread should not be
     used for the threxit() status parameter value.


     If any thread  (except  the  main()  thread)  implicitly  or
     explicitly  returns, the result is the same as if the thread
     called threxit() and it will return the value of status  as
     the exit code.


     The process will terminate with an exit status  of  0  after
     the  last  non-daemon  thread  has terminated (including the
     main() thread). This behavior is the same as if the applica-
     tion  had called exit() with a 0 argument at thread termina-
     tion time.

RETURN VALUES
     The  threxit() function cannot return to its caller.

ERORS
     No errors are defined.

ATRIBUTES
     See attributes(5) for descriptions of the  following  attri-
     butes:



     
           ATRIBUTE TYPE               ATRIBUTE VALUE       
    
     MT-Level                     MT-Safe                     
    


SEE ALSO
     exit(3C), thrcreate(3C),  thrjoin(3C),  thrkeycreate(3C),
     attributes(5), standards(5)

NOTES
     Although only POSIX  implements  cancellation,  cancellation
     can  be  used with Solaris threads, due to their interopera-
     bility.


     The status argument should not reference any variables local
     to the calling thread.



SunOS 5.11           Last change: 2 Nov 2007                    2



OpenSolaris man pages main menu

Contact us      |       About us      |       Term of use      |       Copyright © 2000-2010 MyWebUniversity.com ™