--- libaitsched/src/aitsched.c 2012/08/21 12:50:08 1.14.2.2 +++ libaitsched/src/aitsched.c 2012/09/10 15:07:53 1.17 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: aitsched.c,v 1.14.2.2 2012/08/21 12:50:08 misho Exp $ +* $Id: aitsched.c,v 1.17 2012/09/10 15:07:53 misho Exp $ * ************************************************************************** The ELWIX and AITNET software is distributed under the following @@ -151,7 +151,7 @@ schedInit(void ** __restrict data, size_t datlen) #ifdef HAVE_LIBPTHREAD for (i = 0; i < taskMAX; i++) - if (pthread_mutex_init(&root->root_mtx[i], NULL)) { + if ((errno = pthread_mutex_init(&root->root_mtx[i], NULL))) { LOGERR; while (i) pthread_mutex_destroy(&root->root_mtx[--i]); @@ -242,13 +242,13 @@ schedEnd(sched_root_task_t ** __restrict root) schedCancel(task); TAILQ_FOREACH_SAFE(task, &(*root)->root_event, task_node, tmp) schedCancel(task); - TAILQ_FOREACH_SAFE(task, &(*root)->root_task, task_node, tmp) - schedCancel(task); TAILQ_FOREACH_SAFE(task, &(*root)->root_suspend, task_node, tmp) schedCancel(task); TAILQ_FOREACH_SAFE(task, &(*root)->root_ready, task_node, tmp) schedCancel(task); TAILQ_FOREACH_SAFE(task, &(*root)->root_thread, task_node, tmp) + schedCancel(task); + TAILQ_FOREACH_SAFE(task, &(*root)->root_task, task_node, tmp) schedCancel(task); #ifdef HAVE_LIBPTHREAD