X_NOT_POSIX has never been defined by our autoconf scripts, only the
old Imake configuration, so this doesn't seem to have been needed in years.

First pass was done with 'unifdef -UX_NOT_POSIX', followed by
manual tweaking to adjust indent levels, etc.

Signed-off-by: Alan Coopersmith <[email protected]>
---

Are there any platforms left that don't support the POSIX sigaction functions?
It looks like they'd have had to be building with CFLAGS="-DX_NOT_POSIX" if
there are, which is a horrible way for us to know upstream what they need.

 xhost.c |   40 ++++------------------------------------
 1 file changed, 4 insertions(+), 36 deletions(-)

diff --git a/xhost.c b/xhost.c
index f5633a1..9b7de42 100644
--- a/xhost.c
+++ b/xhost.c
@@ -73,9 +73,6 @@ X Window System is a trademark of The Open Group.
 #include <stdio.h>
 #include <stdlib.h>
 #include <signal.h>
-#ifdef X_NOT_POSIX
-#include <setjmp.h>
-#endif
 #include <ctype.h>
 #include <X11/Xauth.h>
 #include <X11/Xmu/Error.h>
@@ -98,7 +95,7 @@ X Window System is a trademark of The Open Group.
 #include <limits.h>
 #undef _POSIX_C_SOURCE
 #else
-#if defined(X_NOT_POSIX) || defined(_POSIX_SOURCE)
+#ifdef _POSIX_SOURCE
 #include <limits.h>
 #else
 #define _POSIX_SOURCE
@@ -637,9 +634,6 @@ change_host(Display *dpy, char *name, Bool add)
  * be found.
  */
 
-#ifdef X_NOT_POSIX
-jmp_buf env;
-#endif
 
 static const char *
 get_hostname(XHostAddress *ha)
@@ -653,9 +647,7 @@ get_hostname(XHostAddress *ha)
     char *kname;
     static char kname_out[255];
 #endif
-#ifndef X_NOT_POSIX
     struct sigaction sa;
-#endif
 
 #ifdef TCPCONN
 #if defined(IPv6) && defined(AF_INET6)
@@ -692,22 +684,13 @@ get_hostname(XHostAddress *ha)
           gethostbyaddr will continue after a signal, so we have to
           jump out of it. 
           */
-#ifndef X_NOT_POSIX
        memset(&sa, 0, sizeof sa);
        sa.sa_handler = nameserver_lost;
        sa.sa_flags = 0;        /* don't restart syscalls */
        sigaction(SIGALRM, &sa, NULL);
-#else
-       signal(SIGALRM, nameserver_lost);
-#endif
        alarm(NAMESERVER_TIMEOUT);
-#ifdef X_NOT_POSIX
-       if (setjmp(env) == 0) 
-#endif
-       { 
-           getnameinfo((struct sockaddr *) &saddr, saddrlen, inetname,
-             sizeof(inetname), NULL, 0, 0);
-       }
+       getnameinfo((struct sockaddr *) &saddr, saddrlen, inetname,
+                   sizeof(inetname), NULL, 0, 0);
        alarm(0);
        if (nameserver_timedout || inetname[0] == '\0')
            inet_ntop(((struct sockaddr *)&saddr)->sa_family, ha->address,
@@ -722,22 +705,12 @@ get_hostname(XHostAddress *ha)
           gethostbyaddr will continue after a signal, so we have to
           jump out of it. 
           */
-#ifndef X_NOT_POSIX
        memset(&sa, 0, sizeof sa);
        sa.sa_handler = nameserver_lost;
        sa.sa_flags = 0;        /* don't restart syscalls */
        sigaction(SIGALRM, &sa, NULL);
-#else
-       signal(SIGALRM, nameserver_lost);
-#endif
        alarm(4);
-#ifdef X_NOT_POSIX
-       if (setjmp(env) == 0) {
-#endif
-           hp = gethostbyaddr (ha->address, ha->length, AF_INET);
-#ifdef X_NOT_POSIX
-       }
-#endif
+       hp = gethostbyaddr (ha->address, ha->length, AF_INET);
        alarm(0);
        if (hp)
            return (hp->h_name);
@@ -823,11 +796,6 @@ static void
 nameserver_lost(int sig)
 {
     nameserver_timedout = 1;
-#ifdef X_NOT_POSIX
-    /* not needed with POSIX signals - stuck syscalls will not 
-       be restarted after signal delivery */
-    longjmp(env, -1);
-#endif
 }
 
 /*
-- 
1.7.9.2

_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to