1. SMP: Fix an assertion. SMP-specific change accidentally made in non-SMP code

2. Move list of signal actions from the task TCB to the task group.  Signal handlers are a property of the entire task group and not of individual threads in the group.  I know, I preferred it the other way too but this is more compliant with POSIX.
This commit is contained in:
Gregory Nutt
2016-02-18 08:34:54 -06:00
parent c4493528a1
commit 52fbbaf778
12 changed files with 157 additions and 40 deletions
+2 -2
View File
@@ -445,7 +445,8 @@ struct task_group_s
#ifndef CONFIG_DISABLE_SIGNALS
/* POSIX Signal Control Fields ************************************************/
sq_queue_t sigpendingq; /* List of pending signals */
sq_queue_t tg_sigactionq; /* List of actions for signals */
sq_queue_t tg_sigpendingq; /* List of pending signals */
#endif
#ifndef CONFIG_DISABLE_ENVIRON
@@ -599,7 +600,6 @@ struct tcb_s
#ifndef CONFIG_DISABLE_SIGNALS
sigset_t sigprocmask; /* Signals that are blocked */
sigset_t sigwaitmask; /* Waiting for pending signals */
sq_queue_t sigactionq; /* List of actions for signals */
sq_queue_t sigpendactionq; /* List of pending signal actions */
sq_queue_t sigpostedq; /* List of posted signals */
siginfo_t sigunbinfo; /* Signal info when task unblocked */