Mercurial > hg > Game > Cerium
view TaskManager/Cell/CellHTaskInfo.cc @ 292:2369f477ffbe draft
Document/Cerium_2009.mm
author | aaa |
---|---|
date | Fri, 05 Jun 2009 18:53:42 +0900 |
parents | 028ffc9c0375 |
children | d6245cb38028 |
line wrap: on
line source
#include <stdio.h> #include <stdlib.h> #include "CellHTaskInfo.h" int CellHTaskInfo::extend_pool(int num) { HTaskPtr q = NULL; q = (HTaskPtr)malloc(sizeof(HTask)*(num+1)); if (q == NULL) { return -1; } q->next = htaskPool; htaskPool = q; /* Connect all free queue in the pool */ for (q = htaskPool + 1; --num > 0; q++) { q->next = q + 1; posix_memalign((void**)&q->inData, DEFAULT_ALIGNMENT, sizeof(ListData)); posix_memalign((void**)&q->outData, DEFAULT_ALIGNMENT, sizeof(ListData)); } q->next = freeHTask; posix_memalign((void**)&q->inData, DEFAULT_ALIGNMENT, sizeof(ListData)); posix_memalign((void**)&q->outData, DEFAULT_ALIGNMENT, sizeof(ListData)); freeHTask = htaskPool + 1; return 0; }