about summary refs log tree commit diff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1999-06-17 10:47:43 +0000
committerUlrich Drepper <drepper@redhat.com>1999-06-17 10:47:43 +0000
commit39abffb33770682fabf4cb8068a5044fd846a23f (patch)
treecd32c0e2646e92042e9142eff84407c94fda5bac
parent49409c3345d6f522bae4cbdaee4507639fba700c (diff)
downloadglibc-39abffb33770682fabf4cb8068a5044fd846a23f.tar.gz
glibc-39abffb33770682fabf4cb8068a5044fd846a23f.tar.xz
glibc-39abffb33770682fabf4cb8068a5044fd846a23f.zip
Update.
1999-06-17  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c: Don't fail
	always when oact is NULL.
	Patch by Christian Meder <meder@isr.uni-stuttgart.de>.
-rw-r--r--ChangeLog6
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c15
2 files changed, 15 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index e2e3f884b4..c34ca25a0b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+1999-06-17  Ulrich Drepper  <drepper@cygnus.com>
+
+	* sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c: Don't fail
+	always when oact is NULL.
+	Patch by Christian Meder <meder@isr.uni-stuttgart.de>.
+
 1999-06-17  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
 
 	* math/libm-test.c (jn_test): Adjust delta.
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c b/sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c
index 20cde2da2c..b33feeb09c 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c
@@ -1,5 +1,5 @@
 /* POSIX.1 sigaction call for Linux/SPARC.
-   Copyright (C) 1997, 1998 Free Software Foundation, Inc.
+   Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Miguel de Icaza (miguel@nuclecu.unam.mx), 1997.
 
@@ -118,12 +118,15 @@ __sigaction (int sig, __const struct sigaction *act, struct sigaction *oact)
     ret = r_sig;
   }
 
-  if (oact && ret >= 0)
+  if (ret >= 0)
     {
-      oact->sa_handler = k_osigact.k_sa_handler;
-      oact->sa_mask.__val[0] = k_osigact.sa_mask;
-      oact->sa_flags = k_osigact.sa_flags;
-      oact->sa_restorer = NULL;
+      if (oact)
+	{
+	  oact->sa_handler = k_osigact.k_sa_handler;
+	  oact->sa_mask.__val[0] = k_osigact.sa_mask;
+	  oact->sa_flags = k_osigact.sa_flags;
+	  oact->sa_restorer = NULL;
+	}
       return ret;
     }