Detach a thread from a process
#include <sys/neutrino.h> int ThreadDetach( int tid ); int ThreadDetach_r( int tid );
- The ID of the thread that you want to detach, as returned by ThreadCreate(), or 0 to detach the current thread.
Use the -l c option to qcc to link against this library. This library is usually included automatically.
These kernel calls detach the thread specified by tid. If tid is zero, the calling thread is used. Once detached, attempts to call ThreadJoin() on tid fail. When a detached thread terminates, its termination status is discarded and all its resources are released.
The ThreadDetach() and ThreadDetach_r() functions are identical, except in the way they indicate errors. See the Returns section for details.
These calls don't block.
The only difference between these functions is the way they indicate errors:
- If an error occurs, the function returns -1 and sets errno. Any other value returned indicates success.
- Returns EOK on success. This function does NOT set errno. If an error occurs, the function can return any value listed in the Errors section.
- The thread is already detached.
- The thread indicated by tid doesn't exist.