+ if (server_list[server_id].task)
+ return REPS_E_MULTIPLE_TASKS_IN_SERVER;
+ server_list[server_id].task = tid;
+ Objects_Locations location;
+ Thread_Control *the_thread = _Thread_Get(tid, &location);
+ RBT_Node *node = (RBT_Node*)the_thread->scheduler_info;
+ node->rel_deadline = server_list[server_id].params.P;
+ node->cmp_time = server_list[server_id].params.Q;
+ the_thread->budget_algorithm = THREAD_CPU_BUDGET_ALGORITHM_CALLOUT;
+ rtems_timer_create(rtems_build_name( 'C', 'B', 'S', 'T' ), &node->timer_id);
+ return REPS_OK;