void mutex_unlock( struct mutex *m ) { interrupt_block(); m->locked=0; process_wakeup(&m->waitqueue); interrupt_unblock(); }
void send_signal(struct process_state *process, unsigned int id) { signal_t *signal = get_signal(process, id); if(signal == NULL) { return; } switch(signal->action) { case NONE: break; process_wakeup(process); case WAKEUP: break; case HANDLER: // TODO break; case THREAD: break; } }