This commit adds support for default signal actions for SIGSTOP, SIGSTP, and SIGCONT.

Squashed commit of the following:

    Add procfs support to show stopped tasks.  Add nxsig_action() to solve a chicken and egg problem:  We needed to use sigaction to set default actions, but sigaction() would refuse to set actions if the default actions could not be caught or ignored.

    sched/signal:  Add configuration option to selectively enabled/disable default signal actions for SIGSTOP/SIGSTP/SIGCONT and SIGKILL/SIGINT.  Fix some compilation issues.

    sched/sched:  Okay.. I figured out a way to handle state changes that may occur while they were stopped. If a task/thread was already blocked when SIGSTOP/SIGSTP was received, it will restart in the running state.  I will appear that to the task/thread that the blocked condition was interrupt by a signal and returns the EINTR error.

    sched/group and sched/sched:  Finish framework for continue/resume logic.

    sched/signal:  Roughing out basic structure to support task suspend/resume
This commit is contained in:
Gregory Nutt
2018-08-30 10:27:18 -06:00
parent 20fc3ebcdd
commit a7265d71c6
22 changed files with 815 additions and 75 deletions
+1 -1
View File
@@ -134,7 +134,7 @@ config SERIAL_TERMIOS
config TTY_SIGINT
bool "Support SIGINT"
default n
select SIG_DEFAULT
select SIG_SIGKILL_ACTION
depends on !DISABLE_SIGNALS && SERIAL_TERMIOS
---help---
Whether support Ctrl-c/x event. Enabled automatically for console