Преглед изворни кода

Common/Kernel: Corrections and small bug fixing.

Fernando Sahmkow пре 6 година
родитељ
комит
7fd7d05838
2 измењених фајлова са 3 додато и 8 уклоњено
  1. 1 6
      src/common/wall_clock.cpp
  2. 2 2
      src/core/hle/kernel/svc.cpp

+ 1 - 6
src/common/wall_clock.cpp

@@ -68,12 +68,7 @@ std::unique_ptr<WallClock> CreateBestMatchingClock(u32 emulated_cpu_frequency,
     const auto& caps = GetCPUCaps();
     const auto& caps = GetCPUCaps();
     u64 rtsc_frequency = 0;
     u64 rtsc_frequency = 0;
     if (caps.invariant_tsc) {
     if (caps.invariant_tsc) {
-        if (caps.base_frequency != 0) {
-            rtsc_frequency = static_cast<u64>(caps.base_frequency) * 1000000U;
-        }
-        if (rtsc_frequency == 0) {
-            rtsc_frequency = EstimateRDTSCFrequency();
-        }
+        rtsc_frequency = EstimateRDTSCFrequency();
     }
     }
     if (rtsc_frequency == 0) {
     if (rtsc_frequency == 0) {
         return std::make_unique<StandardWallClock>(emulated_cpu_frequency,
         return std::make_unique<StandardWallClock>(emulated_cpu_frequency,

+ 2 - 2
src/core/hle/kernel/svc.cpp

@@ -344,9 +344,9 @@ static ResultCode SendSyncRequest(Core::System& system, Handle handle) {
             SchedulerLock lock(system.Kernel());
             SchedulerLock lock(system.Kernel());
             auto* sync_object = thread->GetHLESyncObject();
             auto* sync_object = thread->GetHLESyncObject();
             sync_object->RemoveWaitingThread(SharedFrom(thread));
             sync_object->RemoveWaitingThread(SharedFrom(thread));
-
-            thread->InvokeHLECallback(SharedFrom(thread));
         }
         }
+
+        thread->InvokeHLECallback(SharedFrom(thread));
     }
     }
 
 
     return thread->GetSignalingResult();
     return thread->GetSignalingResult();