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

hle: kernel: svc: Remove reschedule on svcBreak.

- This breaks things, and is unnecessary, since emulation will be done at this point.
bunnei 5 лет назад
Родитель
Сommit
39d356782e
1 измененных файлов с 0 добавлено и 5 удалено
  1. 0 5
      src/core/hle/kernel/svc.cpp

+ 0 - 5
src/core/hle/kernel/svc.cpp

@@ -658,7 +658,6 @@ static void Break(Core::System& system, u32 reason, u64 info1, u64 info2) {
         info2, has_dumped_buffer ? std::make_optional(debug_buffer) : std::nullopt);
         info2, has_dumped_buffer ? std::make_optional(debug_buffer) : std::nullopt);
 
 
     if (!break_reason.signal_debugger) {
     if (!break_reason.signal_debugger) {
-        SchedulerLock lock(system.Kernel());
         LOG_CRITICAL(
         LOG_CRITICAL(
             Debug_Emulated,
             Debug_Emulated,
             "Emulated program broke execution! reason=0x{:016X}, info1=0x{:016X}, info2=0x{:016X}",
             "Emulated program broke execution! reason=0x{:016X}, info1=0x{:016X}, info2=0x{:016X}",
@@ -669,10 +668,6 @@ static void Break(Core::System& system, u32 reason, u64 info1, u64 info2) {
         auto* const current_thread = system.CurrentScheduler().GetCurrentThread();
         auto* const current_thread = system.CurrentScheduler().GetCurrentThread();
         const auto thread_processor_id = current_thread->GetProcessorID();
         const auto thread_processor_id = current_thread->GetProcessorID();
         system.ArmInterface(static_cast<std::size_t>(thread_processor_id)).LogBacktrace();
         system.ArmInterface(static_cast<std::size_t>(thread_processor_id)).LogBacktrace();
-
-        // Kill the current thread
-        system.Kernel().ExceptionalExit();
-        current_thread->Stop();
     }
     }
 }
 }