about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--doc/HISTORY2
-rw-r--r--lib/libsystem.c8
2 files changed, 9 insertions, 1 deletions
diff --git a/doc/HISTORY b/doc/HISTORY
index 3fdb683d..cad884e7 100644
--- a/doc/HISTORY
+++ b/doc/HISTORY
@@ -30,6 +30,8 @@ not yet  BJH  Release 10.68.00
               __inline .  Introduced some time between Netpbm 10.26
               (January 2005) and Netpbm 10.35 (August 2006).
 
+              Build: fix build failure on SCO OpenServer due to SIGURG not
+              existing.  Broken in Netpbm 10.49 (December 2009).
 
 14.06.29 BJH  Release 10.67.00
 
diff --git a/lib/libsystem.c b/lib/libsystem.c
index 48c6f06d..d21d0403 100644
--- a/lib/libsystem.c
+++ b/lib/libsystem.c
@@ -231,7 +231,9 @@ signalName(unsigned int const signalClass) {
    it would take to do it right.
 
    OpenBSD does not have SIGWINCH and SIGIO in 2013.  Everyone else seems
-   to have it.
+   to have them.  OpenBSD does have them if the code is not declared as
+   X/open code (i.e. OpenBSD seems to interpret _XOPEN_SOURCE backward -
+   it removes features rather than adds them).
 */
     switch (signalClass) {
     case SIGHUP: /* POSIX.1 */
@@ -276,8 +278,11 @@ signalName(unsigned int const signalClass) {
         return "SIGTTIN";
     case SIGTTOU: /* POSIX.1 */
         return "SIGTTOU";
+#ifdef SIGURG
+/* SCO Openserver 5.0.7/3.2 does not have SIGURG */
     case SIGURG:
         return "SIGURG";
+#endif
     case SIGXCPU:
         return "SIGXCPU";
     case SIGXFSZ:
@@ -291,6 +296,7 @@ signalName(unsigned int const signalClass) {
         return "SIGWINCH";
 #endif
 #ifdef SIGIO
+/* SCO Openserver 5.0.7/3.2 does not have SIGIO */
     case SIGIO:
         return "SIGIO";
 #endif