void mykthread_create() { if (kth < desired_kth) { printf("Creating kernel thread with id = %d\t", kth+1); create_kernel_thread(); kth++; } return; }
sextant_ret_t sched_subsystem_setup() { int i; for (i=0;i<MAX_THREAD;i++) { ready_thread[i].free=1; waiting_thread[i].free=1; } number_thread_ready=0; number_thread_waiting = 0; current_pos=0; wait_current_pos = 0; /* Il faut ici crŽer le processus NULL */ /* Ce processus sera toujours existant */ /* sinon il se peut que le contxt switch n'est plus de process ˆ exŽcuter (par exemple tous bloquŽ) */ /* ce qui provoquerait une errure d'exŽcution*/ create_kernel_thread((kernel_thread_start_routine_t) NullProcess, NULL, "NullProcess"); return SEXTANT_OK; }
void ether_init() { struct thread *ethertask; ether_queue = alloc_queue(256); ethertask = create_kernel_thread(ether_dispatcher, NULL, /*PRIORITY_ABOVE_NORMAL*/ PRIORITY_NORMAL, "ethertask"); }