void function ( ) { Lib . assertTrue ( conditionLock . isHeldByCurrentThread ( ) ) ; boolean loc0 = Machine . interrupt ( ) . disable ( ) ; KThread loc1 = waitQueue . nextThread ( ) ; if ( loc1 != null ) { loc1 . ready ( ) ; } Machine . interrupt ( ) . restore ( loc0 ) ; }
wake up at most one thread sleeping on this condition variable . the current thread must hold the associated lock . concode_field_sep ThreadQueue waitQueue concode_elem_sep Lock conditionLock concode_field_sep void sleep concode_elem_sep void wakeAll