mirror of
https://git.FreeBSD.org/ports.git
synced 2025-01-14 07:43:06 +00:00
d0d1c5fea9
- Bump PORTREVISION. Reported by: sbruno
38 lines
1.3 KiB
Plaintext
38 lines
1.3 KiB
Plaintext
From nox Mon Sep 17 00:00:00 2001
|
|
From: Juergen Lock <nox@jelal.kn-bremen.de>
|
|
Date: 22 Jun 2014 00:52:23 +0200
|
|
Subject: Fix bsd-user default TARGET_SIGINFO handling
|
|
|
|
TARGET_SIGINFO doesn't kill the process and also doesn't cause EINTR
|
|
by default so add it to fatal_signal() appropriately; and also don't
|
|
call force_sig() on it should it end up being handled.
|
|
|
|
Signed-off-by: Juergen Lock <nox@jelal.kn-bremen.de>
|
|
|
|
--- a/bsd-user/signal.c
|
|
+++ b/bsd-user/signal.c
|
|
@@ -391,6 +391,7 @@ int queue_signal(CPUArchState *env, int
|
|
if (sig != TARGET_SIGCHLD &&
|
|
sig != TARGET_SIGURG &&
|
|
sig != TARGET_SIGWINCH &&
|
|
+ sig != TARGET_SIGINFO &&
|
|
sig != TARGET_SIGCONT) {
|
|
force_sig(sig);
|
|
} else {
|
|
@@ -531,6 +532,7 @@ static int fatal_signal(int sig)
|
|
case TARGET_SIGCHLD:
|
|
case TARGET_SIGURG:
|
|
case TARGET_SIGWINCH:
|
|
+ case TARGET_SIGINFO:
|
|
/* Ignored by default. */
|
|
return 0;
|
|
case TARGET_SIGCONT:
|
|
@@ -884,6 +886,7 @@ handle_signal:
|
|
TARGET_SIGTTOU == sig) {
|
|
kill(getpid(), SIGSTOP);
|
|
} else if (TARGET_SIGCHLD != sig && TARGET_SIGURG != sig &&
|
|
+ TARGET_SIGINFO != sig &&
|
|
TARGET_SIGWINCH != sig && TARGET_SIGCONT != sig) {
|
|
force_sig(sig);
|
|
}
|