about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMikael Magnusson <mikachu@gmail.com>2023-03-26 10:26:25 +0200
committerMikael Magnusson <mikachu@gmail.com>2023-03-28 13:00:10 +0200
commit6d40d9b63b41188cc846918e19bbf2982b9305b9 (patch)
treebfd4e272faf743e6002ad5c9b4874a636f076017
parent121810dba601a047f0a8b97fa1515b0704b21e06 (diff)
downloadzsh-6d40d9b63b41188cc846918e19bbf2982b9305b9.tar.gz
zsh-6d40d9b63b41188cc846918e19bbf2982b9305b9.tar.xz
zsh-6d40d9b63b41188cc846918e19bbf2982b9305b9.zip
51602: Handle SIGIOT as an alias to SIGABRT if they are the same signal number
-rw-r--r--ChangeLog5
-rw-r--r--Src/jobs.c5
-rw-r--r--Src/signames2.awk9
3 files changed, 15 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 60642526b..9e8d45978 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2023-03-28  Mikael Magnusson  <mikachu@gmail.com>
+
+	* 51602: Src/jobs.c, Src/signames2.awk: Handle SIGIOT as an
+	alias to SIGABRT if they are the same signal number
+
 2023-03-27  Oliver Kiddle  <opk@zsh.org>
 
 	* Shohei YOSHIDA: 51589: Completion/Unix/Command/_nm:
diff --git a/Src/jobs.c b/Src/jobs.c
index 59ddd952e..15e2105eb 100644
--- a/Src/jobs.c
+++ b/Src/jobs.c
@@ -2646,6 +2646,11 @@ static const struct {
     { "IO", SIGIO },
 #endif
 #endif
+#if defined(SIGABRT) && defined(SIGIOT)
+#if SIGABRT == SIGIOT
+    { "IOT", SIGIOT },
+#endif
+#endif
 #if !defined(SIGERR)
     /*
      * If SIGERR is not defined by the operating system, use it
diff --git a/Src/signames2.awk b/Src/signames2.awk
index 4d15681d5..4d1557cd8 100644
--- a/Src/signames2.awk
+++ b/Src/signames2.awk
@@ -13,7 +13,8 @@
     signam = substr(tmp[1], 4, 20)
     signum = tmp[2]
     if (signam == "CHLD" && sig[signum] == "CLD")  sig[signum] = ""
-    if (signam == "POLL" && sig[signum] == "IO")  sig[signum] = ""
+    if (signam == "POLL" && sig[signum] == "IO")   sig[signum] = ""
+    if (signam == "ABRT" && sig[signum] == "IOT")  sig[signum] = ""
     if (sig[signum] == "") {
 	sig[signum] = signam
 	if (0 + max < 0 + signum && signum < 60)
@@ -33,9 +34,9 @@
 	if (signam == "IO")     { msg[signum] = "i/o ready" }
 	if (signam == "IOT")    { msg[signum] = "IOT instruction" }
 	if (signam == "KILL")   { msg[signum] = "killed" }
-	if (signam == "LOST")	{ msg[signum] = "resource lost" }
+	if (signam == "LOST")   { msg[signum] = "resource lost" }
 	if (signam == "PIPE")   { msg[signum] = "broken pipe" }
-	if (signam == "POLL")	{ msg[signum] = "pollable event occurred" }
+	if (signam == "POLL")   { msg[signum] = "pollable event occurred" }
 	if (signam == "PROF")   { msg[signum] = "profile signal" }
 	if (signam == "PWR")    { msg[signum] = "power fail" }
 	if (signam == "QUIT")   { msg[signum] = "quit" }
@@ -43,7 +44,7 @@
 	if (signam == "SYS")    { msg[signum] = "invalid system call" }
 	if (signam == "TERM")   { msg[signum] = "terminated" }
 	if (signam == "TRAP")   { msg[signum] = "trace trap" }
-	if (signam == "URG")	{ msg[signum] = "urgent condition" }
+	if (signam == "URG")    { msg[signum] = "urgent condition" }
 	if (signam == "USR1")   { msg[signum] = "user-defined signal 1" }
 	if (signam == "USR2")   { msg[signum] = "user-defined signal 2" }
 	if (signam == "VTALRM") { msg[signum] = "virtual time alarm" }