mirror of https://gitee.com/openkylin/qemu.git
linux-user: Add support for STOP/CONT signals.
Signed-off-by: Riku Voipio <riku.voipio@iki.fi> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5802 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
2a913eb118
commit
60b196917f
|
@ -361,10 +361,15 @@ int queue_signal(CPUState *env, int sig, target_siginfo_t *info)
|
||||||
k = &ts->sigtab[sig - 1];
|
k = &ts->sigtab[sig - 1];
|
||||||
handler = sigact_table[sig - 1]._sa_handler;
|
handler = sigact_table[sig - 1]._sa_handler;
|
||||||
if (handler == TARGET_SIG_DFL) {
|
if (handler == TARGET_SIG_DFL) {
|
||||||
|
if (sig == TARGET_SIGTSTP || sig == TARGET_SIGTTIN || sig == TARGET_SIGTTOU) {
|
||||||
|
kill(getpid(),SIGSTOP);
|
||||||
|
return 0;
|
||||||
|
} else
|
||||||
/* default handler : ignore some signal. The other are fatal */
|
/* default handler : ignore some signal. The other are fatal */
|
||||||
if (sig != TARGET_SIGCHLD &&
|
if (sig != TARGET_SIGCHLD &&
|
||||||
sig != TARGET_SIGURG &&
|
sig != TARGET_SIGURG &&
|
||||||
sig != TARGET_SIGWINCH) {
|
sig != TARGET_SIGWINCH &&
|
||||||
|
sig != TARGET_SIGCONT) {
|
||||||
force_sig(sig);
|
force_sig(sig);
|
||||||
} else {
|
} else {
|
||||||
return 0; /* indicate ignored */
|
return 0; /* indicate ignored */
|
||||||
|
|
Loading…
Reference in New Issue