コード例 #1
0
ファイル: timer_server.c プロジェクト: seL4/refos
/*! @brief Main timer server message loop. Simply loops through recieving and dispatching messages
           repeatedly. */
static void
timer_server_mainloop(void)
{
    struct timeserv_state *s = &timeServ;
    srv_msg_t msg;

    while (1) {
        msg.message = seL4_Recv(s->commonState.anonEP, &msg.badge);
        timer_server_handle_message(s, &msg);
        client_table_postaction(&s->commonState.clientTable);
    }
}
コード例 #2
0
ファイル: timer_server.c プロジェクト: buaakq/RefOS
/*! @brief Main timer server message loop. Simply loops through recieving and dispatching messages
           repeatedly. */
static void
timer_server_mainloop(void)
{
    struct timeserv_state *s = &timeServ;
    srv_msg_t msg;
    seL4_DebugPrintf("timer1 will go EP\n");
    while (1) {
		seL4_DebugPrintf("<<<<<<<<<<<<<<<<<<<<<<<<<<<<start to receive on EP<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\n");
        
		msg.message = seL4_Wait(s->commonState.anonEP, &msg.badge);
		seL4_DebugPrintf("<<<<<<<<<<<<<<<<<<<<<<<<<<<timeserver resume on EP>>>>>>>>>>>>>>>>>>>>>>>>>>\n");
        timer_server_handle_message(s, &msg);
        client_table_postaction(&s->commonState.clientTable);
    }
}
コード例 #3
0
ファイル: timer_server.c プロジェクト: buaakq/RefOS
static int 
test_thread(void * arg)
{
	struct timeserv_state *s = &timeServ;
	srv_msg_t msg;
    seL4_DebugPrintf("timer2 will go AEP\n");
	while(1)
	{
	    seL4_DebugPrintf("\n################# Blocked on AEP #################\n");
		msg.message = seL4_Wait(s->commonState.notifyAsyncEP, &msg.badge);
		seL4_DebugPrintf("\n@@@@@@@@@@@@@@@@@ Resumed on AEP @@@@@@@@@@@@@@@@@\n");
        timer_server_handle_message(s, &msg);
        client_table_postaction(&s->commonState.clientTable);
	}
	return 0;
}