Bläddra i källkod

Kernel: Don't assert if we can't deliver a signal due to thread state

Fixes an assertion found in #3990
Tom 4 år sedan
förälder
incheckning
1f86d88dc4
1 ändrade filer med 2 tillägg och 1 borttagningar
  1. 2 1
      Kernel/Thread.cpp

+ 2 - 1
Kernel/Thread.cpp

@@ -490,7 +490,8 @@ DispatchSignalResult Thread::dispatch_one_pending_signal()
 {
 {
     ASSERT(m_lock.own_lock());
     ASSERT(m_lock.own_lock());
     u32 signal_candidates = pending_signals_for_state() & ~m_signal_mask;
     u32 signal_candidates = pending_signals_for_state() & ~m_signal_mask;
-    ASSERT(signal_candidates);
+    if (signal_candidates == 0)
+        return DispatchSignalResult::Continue;
 
 
     u8 signal = 1;
     u8 signal = 1;
     for (; signal < 32; ++signal) {
     for (; signal < 32; ++signal) {