示例#1
0
        public void Wait(KMutex mutex, uint timeoutUs)
        {
            State = KThreadState.Waiting;
            this.RemoveFromSchedule();

            CanHandleCallbacks = false;

            mutex.WaitingThreads.Enqueue(this);
            WaitingOn = KThreadWait.Mutex;
            this.WaitTimeoutSetup(timeoutUs);
            WaitHandle = mutex;

            this.Kernel.Schedule();
        }
示例#2
0
        public void Wait( KMutex mutex, uint timeoutUs )
        {
            State = KThreadState.Waiting;
            this.RemoveFromSchedule();

            CanHandleCallbacks = false;

            mutex.WaitingThreads.Enqueue( this );
            WaitingOn = KThreadWait.Mutex;
            this.WaitTimeoutSetup( timeoutUs );
            WaitHandle = mutex;

            this.Kernel.Schedule();
        }