mirror of
https://github.com/mii443/qemu.git
synced 2025-08-22 23:25:48 +00: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:
@ -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;
|
||||
|
Reference in New Issue
Block a user