aboutsummaryrefslogtreecommitdiff
path: root/bsd-user/qemu.h
diff options
context:
space:
mode:
Diffstat (limited to 'bsd-user/qemu.h')
-rw-r--r--bsd-user/qemu.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/bsd-user/qemu.h b/bsd-user/qemu.h
index de20650a00..02921ac8b3 100644
--- a/bsd-user/qemu.h
+++ b/bsd-user/qemu.h
@@ -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;