Subversion Repositories shark

Compare Revisions

Ignore whitespace Rev 298 → Rev 334

/shark/trunk/ports/first/first-server.c
52,6 → 52,9
case FSF_SCHEDULER_RM:
local_scheduler_level = RMSTAR_register_level(fsf_server_level);
break;
case FSF_SCHEDULER_MPEG:
local_scheduler_level = MPEGSTAR_register_level(fsf_server_level);
break;
}
*budget = SERVER_setbudget(fsf_server_level,
201,6 → 204,19
task_activate(*thread);
 
break;
case FSF_SCHEDULER_MPEG:
hard_task_def_arg(*(HARD_TASK_MODEL *)(local_scheduler_arg),arg);
hard_task_def_level(*(HARD_TASK_MODEL *)(local_scheduler_arg),local_scheduler_level);
*thread = task_create("RMSTAR", thread_code, local_scheduler_arg, NULL);
if (*thread == NIL)
return FSF_ERR_CREATE_THREAD;
MPEGSTAR_setbudget(local_scheduler_level, *thread, (int)(server));
break;
default:
return FSF_ERR_INVALID_SERVER;
break;
226,6 → 242,8
return EDFSTAR_getbudget(local_scheduler_level,thread);
case FSF_SCHEDULER_RM:
return RMSTAR_getbudget(local_scheduler_level,thread);
case FSF_SCHEDULER_MPEG:
return MPEGSTAR_getbudget(local_scheduler_level,thread);
default:
return -1;
}
271,6 → 289,14
return FSF_ERR_SERVER_USED;
 
break;
 
case FSF_SCHEDULER_MPEG:
/* Check if some thread use the server */
if(MPEGSTAR_budget_has_thread(local_scheduler_level,*server))
return FSF_ERR_SERVER_USED;
break;
 
}
 
SERVER_removebudget(fsf_server_level,*server);