Subversion Repositories shark

Compare Revisions

Ignore whitespace Rev 887 → Rev 888

/shark/trunk/ports/first/first-server.c
607,14 → 607,18
#ifdef FSF_DEBUG
kern_printf("sched policy %d", scheduler_id);
#endif
 
if (scheduler_id!=local_scheduler_arg->policy)
return FSF_ERR_SCHED_POLICY_NOT_COMPATIBLE;
 
/* Check if thread is already bind */
switch (scheduler_id) {
case FSF_POSIX:
 
nrt_task_def_arg(*(NRT_TASK_MODEL *)(local_scheduler_arg),arg);
nrt_task_def_level(*(NRT_TASK_MODEL *)(local_scheduler_arg),local_scheduler_level);
nrt_task_def_arg(*(NRT_TASK_MODEL *)(local_scheduler_arg->params),arg);
nrt_task_def_level(*(NRT_TASK_MODEL *)(local_scheduler_arg->params),local_scheduler_level);
 
*thread = task_create("POSIXSTAR", thread_code, local_scheduler_arg, NULL);
*thread = task_create("POSIXSTAR", thread_code, local_scheduler_arg->params, NULL);
if (*thread == NIL) {
#ifdef FSF_DEBUG
kern_printf("(FSF:Error creating thread)");
627,10 → 631,10
break;
case FSF_EDF:
 
hard_task_def_arg(*(HARD_TASK_MODEL *)(local_scheduler_arg),arg);
hard_task_def_level(*(HARD_TASK_MODEL *)(local_scheduler_arg),local_scheduler_level);
hard_task_def_arg(*(HARD_TASK_MODEL *)(local_scheduler_arg->params),arg);
hard_task_def_level(*(HARD_TASK_MODEL *)(local_scheduler_arg->params),local_scheduler_level);
 
*thread = task_create("EDFSTAR", thread_code, local_scheduler_arg, NULL);
*thread = task_create("EDFSTAR", thread_code, local_scheduler_arg->params, NULL);
if (*thread == NIL)
return FSF_ERR_INTERNAL_ERROR;
 
640,10 → 644,10
 
case FSF_RM:
 
hard_task_def_arg(*(HARD_TASK_MODEL *)(local_scheduler_arg),arg);
hard_task_def_level(*(HARD_TASK_MODEL *)(local_scheduler_arg),local_scheduler_level);
hard_task_def_arg(*(HARD_TASK_MODEL *)(local_scheduler_arg->params),arg);
hard_task_def_level(*(HARD_TASK_MODEL *)(local_scheduler_arg->params),local_scheduler_level);
 
*thread = task_create("RMSTAR", thread_code, local_scheduler_arg, NULL);
*thread = task_create("RMSTAR", thread_code, local_scheduler_arg->params, NULL);
if (*thread == NIL)
return FSF_ERR_INTERNAL_ERROR;
 
652,12 → 656,12
break;
case FSF_NONE:
//dummy_task_def_arg(*( DUMMY_TASK_MODEL *)(local_scheduler_arg),arg);
dummy_task_def_level(*( DUMMY_TASK_MODEL *)(local_scheduler_arg),local_scheduler_level);
dummy_task_def_arg(*( DUMMY_TASK_MODEL *)(local_scheduler_arg->params),arg);
dummy_task_def_level(*( DUMMY_TASK_MODEL *)(local_scheduler_arg->params),local_scheduler_level);
#ifdef FSF_DEBUG
kern_printf("(None Server create task)");
#endif
*thread = task_create("NONESTAR", thread_code, local_scheduler_arg, NULL);
*thread = task_create("NONESTAR", thread_code, local_scheduler_arg->params, NULL);
if (*thread == NIL)
return FSF_ERR_INTERNAL_ERROR;