comparison VSs.h @ 12:f56e3beac86b

wasn't a double free, some tasks have 0 args -> ptrEntries=NULL
author Nina Engelhardt <nengel@mailbox.tu-berlin.de>
date Mon, 20 Aug 2012 13:42:19 +0200
parents ed268fc7376a b13fbd445e0a
children 2bf83f932705
comparison
equal deleted inserted replaced
11:1351a8a23f03 12:d3aa86f3b0b1
69 { 69 {
70 void **args; //ctld args must come first, as ptrs 70 void **args; //ctld args must come first, as ptrs
71 VSsTaskType *taskType; 71 VSsTaskType *taskType;
72 int32 *taskID; 72 int32 *taskID;
73 int32 numBlockingProp; 73 int32 numBlockingProp;
74 SlaveVP *slaveAssignedTo; 74 SlaveVP *slaveAssignedTo; //only valid before end task (thread)
75 VSsPointerEntry **ptrEntries; 75 VSsPointerEntry **ptrEntries;
76 void* parentTaskStub; 76 void* parentTaskStub;
77 int32 numLiveChildTasks; 77 int32 numLiveChildTasks;
78 int32 numLiveChildThreads; 78 int32 numLiveChildThreads;
79 bool32 isWaitingForChildTasksToEnd; 79 bool32 isWaitingForChildTasksToEnd;
183 typedef struct 183 typedef struct
184 { 184 {
185 PrivQueueStruc *slavesReadyToResumeQ; //Shared (slaves not pinned) 185 PrivQueueStruc *slavesReadyToResumeQ; //Shared (slaves not pinned)
186 PrivQueueStruc *freeExtraTaskSlvQ; //Shared 186 PrivQueueStruc *freeExtraTaskSlvQ; //Shared
187 PrivQueueStruc *taskReadyQ; //Shared (tasks not pinned) 187 PrivQueueStruc *taskReadyQ; //Shared (tasks not pinned)
188 SlaveVP *currTaskSlvs[NUM_CORES][NUM_ANIM_SLOTS]; 188 SlaveVP *slotTaskSlvs[NUM_CORES][NUM_ANIM_SLOTS];
189 HashTable *argPtrHashTbl; 189 HashTable *argPtrHashTbl;
190 HashTable *commHashTbl; 190 HashTable *commHashTbl;
191 int32 numLiveExtraTaskSlvs; 191 int32 numLiveExtraTaskSlvs;
192 int32 numLiveThreadSlvs; 192 int32 numLiveThreadSlvs;
193 int32 nextCoreToGetNewSlv; 193 int32 nextCoreToGetNewSlv;
227 TransListElem *nextTrans; 227 TransListElem *nextTrans;
228 }; 228 };
229 //TransListElem 229 //TransListElem
230 230
231 enum VSsSlvType 231 enum VSsSlvType
232 { extraTaskSlv = 1, 232 { ExtraTaskSlv = 1,
233 slotTaskSlv, 233 SlotTaskSlv,
234 threadSlv 234 ThreadSlv
235 }; 235 };
236 236
237 typedef struct 237 typedef struct
238 { 238 {
239 int32 highestTransEntered; 239 int32 highestTransEntered;