Mercurial > hg > Members > kono > Cerium
comparison TaskManager/Fifo/FifoTaskManagerImpl.cc @ 635:8cc609285bbe
SimpleTask worked on Mac OS X
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 18 Nov 2009 18:36:25 +0900 |
parents | 0558abba673c |
children | 5530fa36d42e |
comparison
equal
deleted
inserted
replaced
634:0558abba673c | 635:8cc609285bbe |
---|---|
28 { | 28 { |
29 mailManager = new MailManager(); | 29 mailManager = new MailManager(); |
30 mailManager->init(20); | 30 mailManager->init(20); |
31 | 31 |
32 scheduler = new MainScheduler(); | 32 scheduler = new MainScheduler(); |
33 scheduler->init(); | 33 scheduler->init(this); |
34 scheduler->set_mailManager(mailManager); | 34 scheduler->set_mailManager(mailManager); |
35 scheduler->id = 0; | 35 scheduler->id = 0; |
36 scheduler->set_manager(this); | |
37 | 36 |
38 taskListImpl = new TaskListInfo; | 37 taskListImpl = new TaskListInfo; |
39 taskQueueImpl = new TaskQueueInfo; | 38 taskQueueImpl = new TaskQueueInfo; |
40 htaskImpl = new HTaskInfo(); | 39 htaskImpl = new HTaskInfo(); |
41 | 40 |
58 mailManager = new MailManager(); | 57 mailManager = new MailManager(); |
59 mailManager->init(20); | 58 mailManager->init(20); |
60 | 59 |
61 //scheduler = new MainScheduler(); | 60 //scheduler = new MainScheduler(); |
62 scheduler = _sched; | 61 scheduler = _sched; |
63 scheduler->init(); | 62 scheduler->init(this); |
64 scheduler->set_mailManager(mailManager); | 63 scheduler->set_mailManager(mailManager); |
65 | 64 |
66 taskListImpl = tm-> taskListImpl ; | 65 taskListImpl = tm-> taskListImpl ; |
67 taskQueueImpl = tm-> taskQueueImpl ; | 66 taskQueueImpl = tm-> taskQueueImpl ; |
68 htaskImpl = tm-> htaskImpl ; | 67 htaskImpl = tm-> htaskImpl ; |
222 } | 221 } |
223 | 222 |
224 void* | 223 void* |
225 FifoTaskManagerImpl::allocate(int size, int alignment) | 224 FifoTaskManagerImpl::allocate(int size, int alignment) |
226 { | 225 { |
227 #ifdef __APPLE__ | 226 if (size==0) return 0; |
227 #if defined(__APPLE__) && ! defined(HAS_POSIZ_MEMALIGN) | |
228 return malloc(size); | 228 return malloc(size); |
229 #else | 229 #else |
230 void *buff; | 230 void *buff; |
231 posix_memalign(&buff, alignment, size); | 231 posix_memalign(&buff, alignment, size); |
232 return buff; | 232 return buff; |
234 } | 234 } |
235 | 235 |
236 void* | 236 void* |
237 FifoTaskManagerImpl::allocate(int size) | 237 FifoTaskManagerImpl::allocate(int size) |
238 { | 238 { |
239 #ifdef __APPLE__ | 239 if (size==0) return 0; |
240 #if defined(__APPLE__) && ! defined(HAS_POSIZ_MEMALIGN) | |
240 return malloc(size); | 241 return malloc(size); |
241 #else | 242 #else |
242 void *buff; | 243 void *buff; |
243 posix_memalign(&buff, DEFAULT_ALIGNMENT, size); | 244 posix_memalign(&buff, DEFAULT_ALIGNMENT, size); |
244 return buff; | 245 return buff; |