Subversion Repositories shark

Compare Revisions

Ignore whitespace Rev 879 → Rev 880

/shark/trunk/ports/first/first-server.c
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;
}