view Task.cbc @ 2:803d6bf22e6d default tip

second commit. it's far to complete..
author kent <kent@cr.ie.u-ryukyu.ac.jp>
date Tue, 22 Dec 2009 16:19:56 +0900
parents 5b089096921f
children
line wrap: on
line source

#include <stdlib.h>
#include "List.h"
#include "Task.h"


/*
 *  User interfaces.
 */

Task *
createTask(int id, char *name)
{
	Task *task;
	if (!name) name = "(no name)";

	task = malloc(sizeof(Task));
	task->id = id;
	task->rbuff = NULL;
	task->wbuff = NULL;
	task->waiter = NULL;
	task->waitee = NULL;
	task->name = name;
	task->cpu = ANY;
	task->rsize = 0;
	task->wsize = 0;

	return task;
}

void
taskSetData(Task *task, void *rbuff, int rsize, void *wbuff, int wsize)
{
	task->rbuff = rbuff;
	task->wbuff = wbuff;
	task->rsize = rsize;
	task->wsize = wsize;
}

void
taskSetWait(Task *a, Task *b)
{
	/* set a waiting for b.  */
	a->waitee = _listAddFirst(a->waitee, b);
	b->waiter = _listAddFirst(b->waiter, a);
}