312,20 → 312,20 |
(const fsf_contract_parameters_t *contract, |
fsf_server_id_t *server) |
{ |
struct mess message; |
struct mess m; |
|
// send response server is -1 if the operation fail |
message.type=NEGOTIATE_CONTRACT; |
memmove(&message.contract,contract, sizeof(fsf_contract_parameters_t)); |
|
port_send(channel[1],&message,BLOCK); |
|
port_receive(channel[0], &message, BLOCK); |
|
if (message.server==-1) |
m.type=NEGOTIATE_CONTRACT; |
memmove(&m.contract,contract, sizeof(fsf_contract_parameters_t)); |
//kern_printf("(SN:%d)",*server); |
port_send(channel[1],&m,BLOCK); |
//kern_printf("BR:%d)", *server); |
port_receive(channel[0], &m, BLOCK); |
//kern_printf("(EN:%d)", *server); |
if (m.server==-1) |
return FSF_ERR_CONTRACT_REJECTED; |
|
*server=message.server; |
*server=m.server; |
|
return 0; |
|
360,8 → 360,10 |
int err=0; |
|
err = fsf_negotiate_contract(contract,server); |
//kern_printf("ENMyS:%d", *server); |
if (!err) { |
err = fsf_bind_thread_to_server(*server,exec_shadow); |
//kern_printf("EMMyE:%d:%d",*server,err); |
} else return err; |
|
return err; |
543,7 → 545,7 |
/* Move thread from the posix module to local scheduler */ |
|
#ifdef FSF_DEBUG |
kern_printf("(Bind thread = %d to Server = %d)",thread,server); |
kern_printf("(Bthr=%d to Sr=%d)",thread,server); |
#endif |
|
/* Check if server and thread exsist */ |
576,7 → 578,6 |
msg->command = STD_SET_NEW_LEVEL; |
msg->param = (void *)(local_scheduler_level); |
task_message(msg,thread,0); |
|
free(msg); |
} else return FSF_ERR_BAD_ARGUMENT; |
|
899,7 → 900,7 |
#ifdef FSF_DEBUG |
kern_printf("(nserver %d)", current_server); |
#endif |
|
//kern_printf("(CS:%d)", current_server); |
do { |
current_bandwidth=0; |
Qt=0; |
938,8 → 939,8 |
} |
} |
target_importance++; |
} while (!isok && target_importance<=MAX_IMPORTANCE); |
|
} while (!isok || target_importance<=MAX_IMPORTANCE); |
//kern_printf("(RNDNL)"); |
return 0; |
} |
|