Subversion Repositories shark

Compare Revisions

Ignore whitespace Rev 824 → Rev 825

/shark/trunk/ports/first/first-contract.c
347,7 → 347,10
// collision detection
while (htable[index].id >=0 && index!=oldindex) index=(index+1) % MAX_HASH_ENTRY;
// table is full
if (index==oldindex) return;
if (index==oldindex) {
kern_frestore(f);
return;
}
}
mutex_init(&(htable[index]).mx, &a);
htable[index].id=id;
371,15 → 374,23
int fsf_declare_shared_object_operation(fsf_shared_object_t *obj,
fsf_shared_operation_t *op) {
int i;
SYS_FLAGS f;
 
f=kern_fsave();
 
for (i=0; i<obj->size; i++) {
// fail if the operation already declared
if (op->op_id==obj->shared_op[i].op_id)
if (op->op_id==obj->shared_op[i].op_id) {
kern_frestore(f);
return -1;
}
}
// fail if the object is full
if (obj->size>(FSF_MAX_SHARED_OPERATION-1))
if (obj->size>(FSF_MAX_SHARED_OPERATION-1)) {
kern_frestore(f);
return -1;
}
//kern_printf("(DO SO)");
obj->size++;
obj->shared_op[i].op_id=op->op_id;
386,7 → 397,7
obj->shared_op[i].wcet=op->wcet;
obj->shared_op[i].obj_id=obj->obj_id;
op->obj_id=obj->obj_id;
kern_frestore(f);
return 0;