public void Wait(KMessagePipe pipe, int message, int size, int outSize, int timeout, bool canHandleCallbacks) { this.State = KThreadState.Waiting; this.RemoveFromSchedule(); this.CanHandleCallbacks = canHandleCallbacks; pipe.WaitingThreads.Enqueue(this); this.WaitingOn = KThreadWait.Mpp; this.WaitTimeoutSetup(( uint )timeout); this.WaitHandle = pipe; this.WaitArgument = ( uint )size; this.WaitAddress = ( uint )message; this.WaitAddressResult = ( uint )outSize; if (canHandleCallbacks == true) { this.Kernel.CheckCallbacks(); } this.Kernel.Schedule(); }
public void Wait( KMessagePipe pipe, int message, int size, int outSize, int timeout, bool canHandleCallbacks ) { this.State = KThreadState.Waiting; this.RemoveFromSchedule(); this.CanHandleCallbacks = canHandleCallbacks; pipe.WaitingThreads.Enqueue( this ); this.WaitingOn = KThreadWait.Mpp; this.WaitTimeoutSetup( ( uint )timeout ); this.WaitHandle = pipe; this.WaitArgument = ( uint )size; this.WaitAddress = ( uint )message; this.WaitAddressResult = ( uint )outSize; if( canHandleCallbacks == true ) { this.Kernel.CheckCallbacks(); } this.Kernel.Schedule(); }