Subversion Repositories shark

Compare Revisions

Ignore whitespace Rev 785 → Rev 792

/shark/trunk/ports/first/modules/edfstar.c
53,6 → 53,7
#include <kernel/iqueue.h>
 
/* for BUDGET_TASK_MODEL */
#include "fsf_contract.h"
#include "fsf_server.h"
 
/*
83,6 → 84,7
#define EDFSTAR_IDLE MODULE_STATUS_BASE+4 /* to wait the deadline */
 
/* flags */
#define EDFSTAR_FLAG_NOPREEMPT 4
#define EDFSTAR_FLAG_NORAISEEXC 2
#define EDFSTAR_FLAG_SPORADIC 1
 
136,6 → 138,8
#ifdef EDFSTAR_DEBUG
edfstar_printf("(E:chk)");
#endif
/* check if the task is preempteble or not */
if (lev->flag[lev->activated] & EDFSTAR_FLAG_NOPREEMPT) return;
 
if ((first = iq_query_first(&lev->ready)) != lev->activated) {
if (lev->activated != NIL)
746,6 → 750,20
 
}
 
void EDFSTAR_set_nopreemtive_current(LEVEL l) {
EDFSTAR_level_des *lev = (EDFSTAR_level_des *)(level_table[l]);
lev->flag[lev->activated]|=EDFSTAR_FLAG_NOPREEMPT;
}
 
void EDFSTAR_unset_nopreemtive_current(LEVEL l) {
 
EDFSTAR_level_des *lev = (EDFSTAR_level_des *)(level_table[l]);
 
lev->flag[lev->activated]&=~EDFSTAR_FLAG_NOPREEMPT;
}
int EDFSTAR_budget_has_thread(LEVEL l, int budget)
{