Mercurial > hg > Members > kono > Cerium
diff TaskManager/kernel/schedule/SchedTaskArray.cc @ 704:6d497c098455
Compatibility mode works.
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 14 Dec 2009 19:54:00 +0900 |
parents | 61b59376aec5 |
children | e4d2b823903c |
line wrap: on
line diff
--- a/TaskManager/kernel/schedule/SchedTaskArray.cc Mon Dec 14 18:34:46 2009 +0900 +++ b/TaskManager/kernel/schedule/SchedTaskArray.cc Mon Dec 14 19:54:00 2009 +0900 @@ -40,8 +40,9 @@ outListData.length = 0; outListData.element = 0; - array = task = (TaskPtr)&sv->list->tasks[sv->cur_index]; - sv->cur_index += (task->size())/sizeof(SimpleTask); + task = (TaskPtr)&sv->list->tasks[sv->cur_index]; + array = 0; + sv->cur_index += (task->size()+sizeof(SimpleTask))/sizeof(SimpleTask); } @@ -129,7 +130,7 @@ free(outListData.bound); // このTaskArrayは終り。終了を知らせる。 - if (task->next() >= last()) { + if (!array || task->next() >= last()) { SchedTask *s = (SchedTask *)savedTask; scheduler->mail_write((memaddr)s->task->self); free(array);