فهرست منبع

Kernel: Send a SIGCHLD to the parent upon suspension of a process

...that is controlling a TTY.
AnotherTest 5 سال پیش
والد
کامیت
05972668d1
1فایلهای تغییر یافته به همراه4 افزوده شده و 1 حذف شده
  1. 4 1
      Kernel/TTY/TTY.cpp

+ 4 - 1
Kernel/TTY/TTY.cpp

@@ -155,6 +155,10 @@ void TTY::emit(u8 ch)
         if (ch == m_termios.c_cc[VSUSP]) {
             dbg() << tty_name() << ": VSUSP pressed!";
             generate_signal(SIGTSTP);
+            if (auto process = Process::from_pid(m_pgid)) {
+                if (auto parent = Process::from_pid(process->ppid()))
+                    (void)parent->send_signal(SIGCHLD, process);
+            }
             return;
         }
     }
@@ -390,5 +394,4 @@ void TTY::hang_up()
 {
     generate_signal(SIGHUP);
 }
-
 }