signal: add SIGQUIT & SIGTERM support

SIGQUIT SIGTERM are equal with SIGINT now

Change-Id: Iefc084d58db28003dc40a17f1ff3fbd7a0b716ed
This commit is contained in:
ligd 2020-07-14 11:21:03 +08:00 committed by Xiang Xiao
parent 6dc3cbe9cb
commit f428160dcc
4 changed files with 31 additions and 1 deletions

View File

@ -175,6 +175,8 @@
#ifdef CONFIG_SIG_SIGKILL_ACTION
# define SIGKILL CONFIG_SIG_KILL
# define SIGINT CONFIG_SIG_INT
# define SIGQUIT CONFIG_SIG_QUIT
# define SIGTERM CONFIG_SIG_TERM
#endif
#ifndef CONFIG_SIG_SIGPIPE

View File

@ -163,6 +163,16 @@ FAR char *strsignal(int signum)
return (FAR char *)"SIGINT";
#endif
#ifdef SIGQUIT
case SIGQUIT:
return (FAR char *)"SIGQUIT";
#endif
#ifdef SIGTERM
case SIGTERM:
return (FAR char *)"SIGTERM";
#endif
/* Non-standard signals */
#ifdef SIGCONDTIMEDOUT

View File

@ -1353,7 +1353,7 @@ config SIG_SIGSTOP_ACTION
task) and SIGCONT (resume the task).
config SIG_SIGKILL_ACTION
bool "SIGINT and SIGKILL"
bool "SIGINT SIGKILL SIGQUIT and SIGTERM"
default y
---help---
Enable the default action for SIGINT and SIGKILL (terminate the
@ -1449,6 +1449,22 @@ config SIG_INT
The SIGINT signal is sent to cause a task termination event.
SIGINT may be ignored or caught by the receiving task.
config SIG_QUIT
int "SIGQUIT"
default 11
depends on SIG_SIGKILL_ACTION
---help---
The SIGINT signal is sent to cause a task termination event.
SIGQUIT may be ignored or caught by the receiving task.
config SIG_TERM
int "SIGTERM"
default 12
depends on SIG_SIGKILL_ACTION
---help---
The SIGINT signal is sent to cause a task termination event.
SIGTERM may be ignored or caught by the receiving task.
endif # SIG_DEFAULT
config SIG_PIPE

View File

@ -140,6 +140,8 @@ static const struct nxsig_defaction_s g_defactions[] =
#ifdef CONFIG_SIG_SIGKILL_ACTION
{ SIGINT, 0, nxsig_abnormal_termination },
{ SIGKILL, SIG_FLAG_NOCATCH, nxsig_abnormal_termination },
{ SIGQUIT, 0, nxsig_abnormal_termination },
{ SIGTERM, 0, nxsig_abnormal_termination },
#endif
#ifdef CONFIG_SIG_SIGPIPE_ACTION
{ SIGPIPE, 0, nxsig_abnormal_termination }