Mercurial > hg > Members > innparusu > Gears
diff src/parallel_execution/worker.c @ 123:4ff6f093b695
Fix segmentation fault
author | Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 13 Sep 2016 11:54:25 +0900 |
parents | a086857e1812 |
children | 77e60b6cdace |
line wrap: on
line diff
--- a/src/parallel_execution/worker.c Thu Aug 25 03:23:29 2016 +0900 +++ b/src/parallel_execution/worker.c Tue Sep 13 11:54:25 2016 +0900 @@ -16,8 +16,8 @@ if (queue->first == 0) return; - element = queue->first; - if (__sync_bool_compare_and_swap(&queue->first, element, element->next)) { + element->data = queue->first->data; + if (__sync_bool_compare_and_swap(&queue->first, queue->first, queue->first->next)) { queue->count--; goto meta(context, context->next); } else { @@ -31,7 +31,7 @@ __code getInputData1(struct Context* context, struct Task* task, struct Node* node, struct LoopCounter* loopCounter) { int i = loopCounter->i; - if(i < sizeof(task->iKeys)/ sizeof(int)) { + if(i < sizeof(task->iKeys) / sizeof(int)) { context->next = GetInputData2; node->key = task->iKeys[i]; struct Traverse *t = &context->data[Traverse]->traverse;