--- libaitsched/src/aitsched.c 2011/08/11 22:55:28 1.1.1.1.2.1 +++ libaitsched/src/aitsched.c 2011/08/13 17:26:26 1.1.1.1.2.3 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: aitsched.c,v 1.1.1.1.2.1 2011/08/11 22:55:28 misho Exp $ +* $Id: aitsched.c,v 1.1.1.1.2.3 2011/08/13 17:26:26 misho Exp $ * ************************************************************************** The ELWIX and AITNET software is distributed under the following @@ -127,13 +127,20 @@ schedInit(void ** __restrict data, size_t datlen) LOGERR; } else { memset(root, 0, sizeof(sched_root_task_t)); + TAILQ_INIT(&root->root_read); + TAILQ_INIT(&root->root_write); + TAILQ_INIT(&root->root_timer); + TAILQ_INIT(&root->root_event); + TAILQ_INIT(&root->root_eventlo); + TAILQ_INIT(&root->root_ready); + TAILQ_INIT(&root->root_unuse); if (data && *data) { if (datlen) { root->root_data.iov_base = *data; root->root_data.iov_len = datlen; } else { - func = *data; + func = (int(*)(sched_root_task_t*)) data; func(root); } } @@ -368,8 +375,10 @@ schedRun(sched_root_task_t * __restrict root) if (root->root_hooks.hook_exec.run(root, NULL)) return -1; if (root->root_hooks.hook_exec.fetch) - while ((task = root->root_hooks.hook_exec.fetch(root, NULL))) + while ((task = root->root_hooks.hook_exec.fetch(root, NULL))) { + printf("task=%p\n", task); schedCall(task); + } return 0; }