Use correct value for sigset_t size in syscall.
authordrepper <drepper>
Mon, 8 Dec 1997 03:00:06 +0000 (03:00 +0000)
committerdrepper <drepper>
Mon, 8 Dec 1997 03:00:06 +0000 (03:00 +0000)
sysdeps/unix/sysv/linux/sigsuspend.c

index faea1c3..2cf34eb 100644 (file)
@@ -21,7 +21,7 @@
 #include <unistd.h>
 
 extern int __syscall_sigsuspend (int, unsigned long int, unsigned long int);
-extern int __syscall_rt_sigsuspend (sigset_t *, size_t);
+extern int __syscall_rt_sigsuspend (const sigset_t *, size_t);
 
 
 /* The variable is shared between all wrappers around signal handling
@@ -40,8 +40,7 @@ __sigsuspend (set)
     {
       /* XXX The size argument hopefully will have to be changed to the
         real size of the user-level sigset_t.  */
-      int result = __syscall_rt_sigsuspend (set,
-                                           _NSIG / (8 * sizeof (long int)));
+      int result = __syscall_rt_sigsuspend (set, _NSIG / 8);
 
       if (result >= 0 || errno != ENOSYS)
        return result;