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(); } }
void IPCStart( void ) //date init { IPCInit(); IPCThread(); }