Signed-off-by: Jon TURNEY <jon.tur...@dronecode.org.uk>
---
 xhost.c |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/xhost.c b/xhost.c
index aa1dbec..1739d8f 100644
--- a/xhost.c
+++ b/xhost.c
@@ -727,6 +727,7 @@ get_hostname(XHostAddress *ha)
           gethostbyaddr will continue after a signal, so we have to
           jump out of it. 
           */
+#ifdef SIGALRM
 #ifndef X_NOT_POSIX
        memset(&sa, 0, sizeof sa);
        sa.sa_handler = nameserver_lost;
@@ -736,6 +737,8 @@ get_hostname(XHostAddress *ha)
        signal(SIGALRM, nameserver_lost);
 #endif
        alarm(NAMESERVER_TIMEOUT);
+#endif
+
 #ifdef X_NOT_POSIX
        if (setjmp(env) == 0) 
 #endif
@@ -743,7 +746,9 @@ get_hostname(XHostAddress *ha)
            getnameinfo((struct sockaddr *) &saddr, saddrlen, inetname,
              sizeof(inetname), NULL, 0, 0);
        }
+#ifdef SIGALRM
        alarm(0);
+#endif
        if (nameserver_timedout || inetname[0] == '\0')
            inet_ntop(((struct sockaddr *)&saddr)->sa_family, ha->address,
                inetname, sizeof(inetname));
@@ -763,6 +768,7 @@ get_hostname(XHostAddress *ha)
           gethostbyaddr will continue after a signal, so we have to
           jump out of it. 
           */
+#ifdef SIGALRM
 #ifndef X_NOT_POSIX
        memset(&sa, 0, sizeof sa);
        sa.sa_handler = nameserver_lost;
@@ -772,6 +778,8 @@ get_hostname(XHostAddress *ha)
        signal(SIGALRM, nameserver_lost);
 #endif
        alarm(4);
+#endif
+
 #ifdef X_NOT_POSIX
        if (setjmp(env) == 0) {
 #endif
@@ -779,7 +787,9 @@ get_hostname(XHostAddress *ha)
 #ifdef X_NOT_POSIX
        }
 #endif
+#ifdef SIGALRM
        alarm(0);
+#endif
        if (hp)
            return (hp->h_name);
        else return (inet_ntoa(*((struct in_addr *)(ha->address))));
-- 
1.7.9

_______________________________________________
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to