Mercurial > hg > Papers > 2016 > kkb-master
view paper/src/initWorker.c @ 16:958634b9fa32
make paper directory
author | Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 17 Feb 2016 16:59:46 +0900 |
parents | src/initWorker.c@2d6755608f67 |
children |
line wrap: on
line source
// Code Gear __code createWorker(struct Context* context, struct LoopCounter* loopCounter, struct Worker* worker) { int i = loopCounter->i; if (i < worker->num) { struct Context* worker_context = &worker->contexts[i]; worker_context->next = GetQueue; worker_context->data[Tree] = context->data[Tree]; worker_context->data[ActiveQueue] = context->data[ActiveQueue]; pthread_create(&worker_context->thread, NULL, (void*)&start_code, worker_context); worker_context->thread_num = i; loopCounter->i++; goto meta(context, CreateWorker); } loopCounter->i = 0; goto meta(context, TaskManager); } // Meta Code Gear __code createWorker_stub(struct Context* context) { goto createWorker(context, &context->data[LoopCounter]->loopCounter, &context->data[Worker]->worker); }