mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 07:13:54 -06:00
bsd-user/signal.c: handle_pending_signal
Handle a queued signal. Signed-off-by: Stacey Son <sson@FreeBSD.org> Signed-off-by: Kyle Evans <kevans@freebsd.org> Signed-off-by: Warner Losh <imp@bsdimp.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
46f4f76d33
commit
6c6d4b5616
2 changed files with 94 additions and 0 deletions
|
@ -99,6 +99,8 @@ typedef struct TaskState {
|
|||
* from multiple threads.)
|
||||
*/
|
||||
int signal_pending;
|
||||
/* True if we're leaving a sigsuspend and sigsuspend_mask is valid. */
|
||||
bool in_sigsuspend;
|
||||
/*
|
||||
* This thread's signal mask, as requested by the guest program.
|
||||
* The actual signal mask of this thread may differ:
|
||||
|
@ -106,6 +108,11 @@ typedef struct TaskState {
|
|||
* + sometimes we block all signals to avoid races
|
||||
*/
|
||||
sigset_t signal_mask;
|
||||
/*
|
||||
* The signal mask imposed by a guest sigsuspend syscall, if we are
|
||||
* currently in the middle of such a syscall
|
||||
*/
|
||||
sigset_t sigsuspend_mask;
|
||||
|
||||
/* This thread's sigaltstack, if it has one */
|
||||
struct target_sigaltstack sigaltstack_used;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue