view src/parallel_execution/dependency.c @ 187:bacc37265386

main.o fixed
author mir3636
date Thu, 15 Dec 2016 19:51:40 +0900
parents 247a2c4a8908
children 39d87ba6039d
line wrap: on
line source

#include <stdio.h>
#include "context.h"
#include "origin_cs.h"

__code meta_waitFor(struct Context* context, struct Queue* queue, enum Code next) {
    context->data[D_Queue] = (union Data *)queue;
    goto (context->code[next])(context);
}

__code waitFor1(struct Context* context, struct Task* master, struct Task* slave, struct Element* element) {
    element->data = (union Data *)slave;
    // enqueue waitMe
    goto meta_waitFor(context, /*master->waitMe*/ NULL , PutQueue1);
}

__code waitFor1_stub(struct Context* context) {
    // next think
}

//__code waitFor2(struct Context* context, struct Task* master, struct Task* slave, struct Element* element) {
//    element->task = master;
//    task->next = context->next;
//    // enqueue waitI
//    goto meta_waitFor(context, task->waitI, PutQueue1);
//}
//
//__code waitFor2_stub(struct Context* context) {
//    // next think
//}