13,16 → 13,10 |
|
#include "fsf_contract.h" |
|
#include "cbsstar.h" |
#include "posixstar.h" |
#include "edfstar.h" |
extern int fsf_cbsstar_level; |
|
#include <stdlib.h> |
|
//#define FSF_DEBUG |
|
extern int cbsstar_level; |
|
int |
fsf_create_synchobject(fsf_synch_object_handle_t *synch_handle) |
{ |
77,8 → 71,8 |
TIME T,Q; |
int budget, local_scheduler_level, scheduler_id; |
|
local_scheduler_level = CBSSTAR_get_local_scheduler_level_from_pid(cbsstar_level, exec_shadow); |
scheduler_id = CBSSTAR_get_local_scheduler_id_from_pid(cbsstar_level, exec_shadow); |
local_scheduler_level = CBSSTAR_get_local_scheduler_level_from_pid(fsf_cbsstar_level, exec_shadow); |
scheduler_id = CBSSTAR_get_local_scheduler_id_from_pid(fsf_cbsstar_level, exec_shadow); |
|
switch (scheduler_id) { |
case FSF_SCHEDULER_POSIX: |
97,7 → 91,7 |
|
if (next_budget != NULL && next_period != NULL) { |
|
CBSSTAR_getbudgetinfo(cbsstar_level, &Q, &T, budget); |
CBSSTAR_getbudgetinfo(fsf_cbsstar_level, &Q, &T, budget); |
|
#ifdef FSF_DEBUG |
kern_printf("(budget %d Q=%d T=%d)",budget,(int)Q,(int)T); |
110,9 → 104,10 |
|
} |
|
if (was_deadline_missed != NULL) *was_deadline_missed = false; |
if (was_deadline_missed != NULL) |
*was_deadline_missed = false; |
if (was_budget_overran != NULL) |
*was_budget_overran = (bool)CBSSTAR_was_budget_overran(cbsstar_level,budget); |
*was_budget_overran = false; |
|
if (at_absolute_time != NULL) |
kern_event_post(at_absolute_time, (void (*)(void *))&task_activate, (void *)(exec_shadow)); |
142,8 → 137,8 |
TIME T,Q; |
int budget, local_scheduler_level, scheduler_id; |
|
local_scheduler_level = CBSSTAR_get_local_scheduler_level_from_pid(cbsstar_level, exec_shadow); |
scheduler_id = CBSSTAR_get_local_scheduler_id_from_pid(cbsstar_level, exec_shadow); |
local_scheduler_level = CBSSTAR_get_local_scheduler_level_from_pid(fsf_cbsstar_level, exec_shadow); |
scheduler_id = CBSSTAR_get_local_scheduler_id_from_pid(fsf_cbsstar_level, exec_shadow); |
|
switch (scheduler_id) { |
case FSF_SCHEDULER_POSIX: |
162,7 → 157,7 |
|
if (next_budget != NULL && next_period != NULL) { |
|
CBSSTAR_getbudgetinfo(cbsstar_level, &Q, &T, budget); |
CBSSTAR_getbudgetinfo(fsf_cbsstar_level, &Q, &T, budget); |
|
#ifdef FSF_DEBUG |
kern_printf("(budget %d Q=%d T=%d)",budget,(int)Q,(int)T); |
177,7 → 172,7 |
|
if (was_deadline_missed != NULL) *was_deadline_missed = false; |
if (was_budget_overran != NULL) |
*was_budget_overran = (bool)CBSSTAR_was_budget_overran(cbsstar_level,budget); |
*was_budget_overran = (bool)CBSSTAR_was_budget_overran(fsf_cbsstar_level,budget); |
|
if (synch_handle->events > 0) { |
task_activate(exec_shadow); |