ソースを参照

Kernel: Sending a signal to another process needs to disable interrupts.

Andreas Kling 6 年 前
コミット
c6ca6522fc
1 ファイル変更1 行追加1 行削除
  1. 1 1
      Kernel/Process.cpp

+ 1 - 1
Kernel/Process.cpp

@@ -754,7 +754,6 @@ void Process::terminate_due_to_signal(byte signal)
 
 
 void Process::send_signal(byte signal, Process* sender)
 void Process::send_signal(byte signal, Process* sender)
 {
 {
-    ASSERT_INTERRUPTS_DISABLED();
     ASSERT(signal < 32);
     ASSERT(signal < 32);
 
 
     if (sender)
     if (sender)
@@ -762,6 +761,7 @@ void Process::send_signal(byte signal, Process* sender)
     else
     else
         dbgprintf("signal: kernel sent %d to %s(%u)\n", signal, name().characters(), pid());
         dbgprintf("signal: kernel sent %d to %s(%u)\n", signal, name().characters(), pid());
 
 
+    InterruptDisabler disabler;
     m_pending_signals |= 1 << signal;
     m_pending_signals |= 1 << signal;
 }
 }