Mercurial > cgi-bin > hgwebdir.cgi > VMS > VMS_Implementations > VSs_impls > VSs__MC_shared_impl
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; |
