about summary refs log tree commit diff
path: root/sysdeps/mach
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2007-07-22 06:52:07 +0000
committerRoland McGrath <roland@gnu.org>2007-07-22 06:52:07 +0000
commit610903b0cc2166874b60dbd15be9c7e03a1bdb90 (patch)
treeda9fddc68dd205075581180393dd839c0ab78b81 /sysdeps/mach
parent7b153ce13a6e91bc0ca787fc9d3345456ec09803 (diff)
downloadglibc-610903b0cc2166874b60dbd15be9c7e03a1bdb90.tar.gz
glibc-610903b0cc2166874b60dbd15be9c7e03a1bdb90.tar.xz
glibc-610903b0cc2166874b60dbd15be9c7e03a1bdb90.zip
* mach/lock-intern.h: Include <sys/cdefs.h>.
	* sysdeps/mach/hurd/sigaction.c (__sigaction): Check ACT != NULL before
	reading A.

        * sysdeps/mach/hurd/sigsuspend.c (sigsuspend_not_cancel): Define alias
        to __sigsuspend.

	* sysdeps/mach/i386/sysdep.h: Include <dl-sysdep.h> and <tls.h>.

2006-06-13  Thomas Schwinge  <tschwinge@gnu.org>

	* sysdeps/mach/hurd/tls.h: Change `ASSEMBLER' conditional to
	`__ASSEMBLER__'.
	* sysdeps/mach/hurd/i386/tls.h: Likewise.
Diffstat (limited to 'sysdeps/mach')
-rw-r--r--sysdeps/mach/hurd/sigaction.c2
-rw-r--r--sysdeps/mach/hurd/sigsuspend.c1
-rw-r--r--sysdeps/mach/i386/sysdep.h4
3 files changed, 6 insertions, 1 deletions
diff --git a/sysdeps/mach/hurd/sigaction.c b/sysdeps/mach/hurd/sigaction.c
index 3dc530955d..1ff94f61f4 100644
--- a/sysdeps/mach/hurd/sigaction.c
+++ b/sysdeps/mach/hurd/sigaction.c
@@ -68,7 +68,7 @@ __sigaction (sig, act, oact)
       __spin_lock (&ss->lock);
       pending = ss->pending & ~ss->blocked;
     }
-  else if (a.sa_handler == SIG_IGN || a.sa_handler == SIG_DFL)
+  else if (act != NULL && (a.sa_handler == SIG_IGN || a.sa_handler == SIG_DFL))
     /* We are changing to an action that might be to ignore SIG signals.
        If SIG is blocked and pending and the new action is to ignore it, we
        must remove it from the pending set now; if the action is changed
diff --git a/sysdeps/mach/hurd/sigsuspend.c b/sysdeps/mach/hurd/sigsuspend.c
index 96b3857c72..75390f7cfa 100644
--- a/sysdeps/mach/hurd/sigsuspend.c
+++ b/sysdeps/mach/hurd/sigsuspend.c
@@ -80,4 +80,5 @@ __sigsuspend (set)
   return -1;
 }
 libc_hidden_def (__sigsuspend)
+strong_alias (__sigsuspend, sigsuspend_not_cancel)
 weak_alias (__sigsuspend, sigsuspend)
diff --git a/sysdeps/mach/i386/sysdep.h b/sysdeps/mach/i386/sysdep.h
index 1f138f4759..9da46dbbdc 100644
--- a/sysdeps/mach/i386/sysdep.h
+++ b/sysdeps/mach/i386/sysdep.h
@@ -16,6 +16,10 @@
    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
    02111-1307 USA.  */
 
+/* Defines RTLD_PRIVATE_ERRNO and USE_DL_SYSINFO.  */
+#include <dl-sysdep.h>
+#include <tls.h>
+
 #define LOSE asm volatile ("hlt")
 
 #define SNARF_ARGS(entry_sp, argc, argv, envp)				      \