Просмотр исходного кода

Remove thread from the threads list when it finishes, remove debug code

gdkchan 8 лет назад
Родитель
Сommit
81e74ebd86
2 измененных файлов с 1 добавлено и 3 удалено
  1. 0 2
      Ryujinx.Core/OsHle/Kernel/SvcThreadSync.cs
  2. 1 1
      Ryujinx.Core/OsHle/Process.cs

+ 0 - 2
Ryujinx.Core/OsHle/Kernel/SvcThreadSync.cs

@@ -43,8 +43,6 @@ namespace Ryujinx.Core.OsHle.Kernel
 
 
             KThread OwnerThread = Process.HandleTable.GetData<KThread>(OwnerThreadHandle);
             KThread OwnerThread = Process.HandleTable.GetData<KThread>(OwnerThreadHandle);
 
 
-            Ns.Log.PrintDebug(LogClass.KernelSvc, "lock tid: " + OwnerThread.ThreadId.ToString());
-
             if (OwnerThread == null)
             if (OwnerThread == null)
             {
             {
                 Ns.Log.PrintWarning(LogClass.KernelSvc, $"Invalid owner thread handle 0x{OwnerThreadHandle:x8}!");
                 Ns.Log.PrintWarning(LogClass.KernelSvc, $"Invalid owner thread handle 0x{OwnerThreadHandle:x8}!");

+ 1 - 1
Ryujinx.Core/OsHle/Process.cs

@@ -345,7 +345,7 @@ namespace Ryujinx.Core.OsHle
             {
             {
                 TlsSlots.TryRemove(GetTlsSlot(Thread.ThreadState.Tpidr), out _);
                 TlsSlots.TryRemove(GetTlsSlot(Thread.ThreadState.Tpidr), out _);
 
 
-                KThread KernelThread = GetThread(Thread.ThreadState.Tpidr);
+                Threads.TryRemove(Thread.ThreadState.Tpidr, out KThread KernelThread);
 
 
                 Scheduler.RemoveThread(KernelThread);
                 Scheduler.RemoveThread(KernelThread);