示例#1
0
void main(){
	malloc_init();
	
	// Alloc memory for thread&group lists
	main_memarea = kolibri_new_named_memory(KOBRA_MEMAREA_NAME, KOBRA_MEM_SIZE, KOLIBRI_ACCESS_READ|KOLIBRI_CREATE);
	halMemHeapInit(&memarea_heap, &return_0, main_memarea.addr, KOBRA_MEM_SIZE);
	
	// Init main group list
	create_group("main");
	main_group_list->next = main_group_list->previos = main_group_list;
	main_group_list->thread_list = main_thread_list = new_thread_list(kolibri_get_my_tid());
	main_thread_list->next = main_thread_list->previos = main_thread_list;
	
	IPCInit();
// 	kolibri_IPC_unlock();
	
	// Set event mask
// 	kolibri_event_set_mask(KOLIBRI_IPC_EVENT_MASK);
	
	while (1) {
		Message *msg = IPCWaitMessage(-1);
// 		if (kolibri_event_wait() != KOLIBRI_IPC_EVENT) {		// Just ignore this error
// 			continue;
// 		}
		message_handle(msg);
		free(msg);
// 		kolibri_IPC_clear_buff();
	}
}
示例#2
0
文件: init.c 项目: codywon/bell-jpg
void IPCStart( void ) 			//date init
{
    IPCInit();
    IPCThread();
}