CSPspEmu.Hle.Modules.threadman.ThreadManForUser.PspMutex.Lock C# (CSharp) Метод

Lock() публичный Метод

public Lock ( CpuThreadState CurrentCpuThreadState, int UpdateCountValue, uint Timeout ) : void
CurrentCpuThreadState CSPspEmu.Core.Cpu.CpuThreadState
UpdateCountValue int
Timeout uint
Результат void
			public void Lock(CpuThreadState CurrentCpuThreadState, int UpdateCountValue, uint* Timeout)
			{
				if (Timeout != null)
				{
					Console.Error.WriteLine("PspMutex.Lock with Timeout not implemented!!");
					//throw (new NotImplementedException());
				}
				if (UpdateCountValue <= 0) throw (new SceKernelException(SceKernelErrors.ERROR_KERNEL_ILLEGAL_COUNT));
				//Console.Error.WriteLine("Lock : {0}", ThreadManager.Current.Id);
				if (!TryLock(CurrentCpuThreadState, UpdateCountValue))
				{
					//ThreadManager.Current.
					ThreadManForUser.ThreadManager.Current.SetWaitAndPrepareWakeUp(HleThread.WaitType.Mutex, "sceKernelLockMutex", this, (WakeUp) =>
					{
						WakeUpList.Enqueue(() =>
						{
							WakeUp();
						});
					}, HandleCallbacks: false);
				}
			}