/** Terminate a thread and free its stack. */
void Thread::complete()
{
- if (state != THREAD_COMPLETED) {
+ if (!is_complete()) {
DEBUG("completed thread %d\n", get_id());
state = THREAD_COMPLETED;
if (stack)
* @param a The parameter to pass to this function.
*/
Thread::Thread(thrd_t *t, void (*func)(void *), void *a) :
+ pending(NULL),
start_routine(func),
arg(a),
user_thread(t),
state(THREAD_CREATED),
+ wait_list(),
last_action_val(VALUE_NONE)
{
int ret;