xserver: Branch 'master'

Alan Coopersmith alanc at kemper.freedesktop.org
Wed Nov 5 18:26:15 PST 2008


 os/utils.c |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

New commits:
commit c9051b684b524549eab6d5b88ee3e195a6f6fbe8
Author: Alan Coopersmith <alan.coopersmith at sun.com>
Date:   Wed Nov 5 18:25:57 2008 -0800

    Use OsSignal in Popen/Pclose to avoid SysV signal() stupidity

diff --git a/os/utils.c b/os/utils.c
index f0bb717..b100949 100644
--- a/os/utils.c
+++ b/os/utils.c
@@ -1393,7 +1393,7 @@ static struct pid {
     int pid;
 } *pidlist;
 
-void (*old_alarm)(int) = NULL; /* XXX horrible awful hack */
+OsSigHandlerPtr old_alarm = NULL; /* XXX horrible awful hack */
 
 pointer
 Popen(char *command, char *type)
@@ -1417,7 +1417,7 @@ Popen(char *command, char *type)
     }
 
     /* Ignore the smart scheduler while this is going on */
-    old_alarm = signal(SIGALRM, SIG_IGN);
+    old_alarm = OsSignal(SIGALRM, SIG_IGN);
     if (old_alarm == SIG_ERR) {
       perror("signal");
       return NULL;
@@ -1428,7 +1428,7 @@ Popen(char *command, char *type)
 	close(pdes[0]);
 	close(pdes[1]);
 	xfree(cur);
-	if (signal(SIGALRM, old_alarm) == SIG_ERR)
+	if (OsSignal(SIGALRM, old_alarm) == SIG_ERR)
 	  perror("signal");
 	return NULL;
     case 0:	/* child */
@@ -1605,7 +1605,7 @@ Pclose(pointer iop)
     /* allow EINTR again */
     OsReleaseSignals ();
     
-    if (old_alarm && signal(SIGALRM, old_alarm) == SIG_ERR) {
+    if (old_alarm && OsSignal(SIGALRM, old_alarm) == SIG_ERR) {
       perror("signal");
       return -1;
     }


More information about the xorg-commit mailing list