Mercurial > hg > Game > Cerium
comparison TaskManager/kernel/ppe/BufferManager.cc @ 93:dd33ec2e51b9
*** empty log message ***
author | gongo |
---|---|
date | Thu, 28 Feb 2008 17:32:18 +0900 |
parents | 504899860e66 |
children | 588ab5f0e659 |
comparison
equal
deleted
inserted
replaced
92:663bc2a213f5 | 93:dd33ec2e51b9 |
---|---|
83 | 83 |
84 void | 84 void |
85 BufferManager::notify_wait_taskQueue(HTaskPtr depend, TaskQueuePtr list) | 85 BufferManager::notify_wait_taskQueue(HTaskPtr depend, TaskQueuePtr list) |
86 { | 86 { |
87 TaskQueuePtr p; | 87 TaskQueuePtr p; |
88 HTaskPtr task; | 88 HTaskPtr task; |
89 | 89 |
90 p = list; // wait task list | 90 p = list; // wait task list |
91 | 91 |
92 while (p) { | 92 while (p) { |
93 task = p->task; | 93 task = p->task; |
94 task->wait_i = remove_taskQueue_eq_task(task->wait_i, depend); | 94 task->wait_i = remove_taskQueue_eq_task(task->wait_i, depend); |
95 if (task->wait_i == NULL) { | 95 if (task->wait_i == NULL) { |
96 append_activeTask(task); | 96 append_activeTask(task); |
97 waitTaskQueue = remove_taskQueue_eq_task(waitTaskQueue, task); | 97 waitTaskQueue = remove_taskQueue_eq_task(waitTaskQueue, task); |
98 } | 98 } |
99 p = p->next; | 99 p = p->next; |
100 } | |
101 | |
102 remove_taskQueue_all(list); | |
103 } | |
104 | |
105 void | |
106 BufferManager::remove_taskQueue_all(TaskQueuePtr list) | |
107 { | |
108 TaskQueuePtr p = list; | |
109 TaskQueuePtr p1; | |
110 | |
111 while (p != NULL) { | |
112 p1 = p->next; | |
113 taskQueueImpl->free(p); | |
114 p = p1; | |
100 } | 115 } |
101 } | 116 } |
102 | 117 |
103 TaskQueuePtr | 118 TaskQueuePtr |
104 BufferManager::remove_taskQueue_eq_task(TaskQueuePtr list, HTaskPtr task) | 119 BufferManager::remove_taskQueue_eq_task(TaskQueuePtr list, HTaskPtr task) |