Definition: | exit_thread(integer exitcode) |
Description: | Terminate execution of the current thread. |
Comments: |
Just as abort() terminates the entire application (and will still do so even if
invoked from a worker thread), exit_thread() terminates the current thread, and can safely be invoked
even several levels deep in nested calls. Note that exit_thread() must be avoided at all costs when
multitasking is in use, as per suspend_thread().
Properly written code should use an exitcode of 0 and send appropriate messages on failure before terminating. An idle wait_thread() is properly signalled following an exit_thread(). However, should you really want to monitor/poll active threads, the exit code can be retrieved via get_thread_exitcode(). There will of course be times when such a more obvious quick and dirty way is entirely appropriate. While the thread is still active, get_thread_exitcode returns STILL_ACTIVE (=259), so obviously that particular value should be avoided. |
See Also: | abort, multitasking, suspend_thread, get_thread_exitcode, wait_thread |