PM: rework signal handling

- introduce PROC_STOPPED flag, which tracks whether the process is
  stopped on PROC_STOP in the kernel, rather than implicitly deriving
  this from PM_SIG_PENDING;
- make the process resumption test based on current state rather than
  state transitions;
- add and clarify several flag checks in the signal handling code;
- add test79 to test signal handling robustness.

Change-Id: Ic8c7527095035b300b56f2ab1b9dd190bd4bf001
This commit is contained in:
David van Moolenbroek
2014-03-01 09:04:59 +01:00
committed by sambuc
parent 4d4e70daaa
commit 595d73a896
12 changed files with 715 additions and 114 deletions
+1 -1
View File
@@ -73,7 +73,7 @@ static void pid_psinfo(int i)
if (!task) {
if (is_zombie(i))
state = STATE_ZOMBIE; /* zombie */
else if (mproc[pi].mp_flags & STOPPED)
else if (mproc[pi].mp_flags & TRACE_STOPPED)
state = STATE_STOP; /* stopped (traced) */
else if (proc[i].p_rts_flags == 0)
state = STATE_RUN; /* in run-queue */