comparison TaskManager/kernel/schedule/SchedTaskArray.cc @ 704:ec6c897448ca draft

Compatibility mode works.
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 14 Dec 2009 19:54:00 +0900
parents 0c8ad8d99656
children b2b4a1243961
comparison
equal deleted inserted replaced
703:0c8ad8d99656 704:ec6c897448ca
38 outListData.bound = 0; 38 outListData.bound = 0;
39 outListData.size = 0; 39 outListData.size = 0;
40 outListData.length = 0; 40 outListData.length = 0;
41 outListData.element = 0; 41 outListData.element = 0;
42 42
43 array = task = (TaskPtr)&sv->list->tasks[sv->cur_index]; 43 task = (TaskPtr)&sv->list->tasks[sv->cur_index];
44 sv->cur_index += (task->size())/sizeof(SimpleTask); 44 array = 0;
45 sv->cur_index += (task->size()+sizeof(SimpleTask))/sizeof(SimpleTask);
45 46
46 } 47 }
47 48
48 /** 49 /**
49 */ 50 */
127 free(writebuf); 128 free(writebuf);
128 free(inListData.bound); 129 free(inListData.bound);
129 free(outListData.bound); 130 free(outListData.bound);
130 131
131 // このTaskArrayは終り。終了を知らせる。 132 // このTaskArrayは終り。終了を知らせる。
132 if (task->next() >= last()) { 133 if (!array || task->next() >= last()) {
133 SchedTask *s = (SchedTask *)savedTask; 134 SchedTask *s = (SchedTask *)savedTask;
134 scheduler->mail_write((memaddr)s->task->self); 135 scheduler->mail_write((memaddr)s->task->self);
135 free(array); 136 free(array);
136 } 137 }
137 138