linux-mips
[Top] [All Lists]

Re: sigset_t32 broken?

To: Ralf Baechle <ralf@linux-mips.org>
Subject: Re: sigset_t32 broken?
From: Vivien Chappelier <vivienc@nerim.net>
Date: Mon, 27 Jan 2003 01:44:12 +0100 (CET)
Cc: linux-mips@linux-mips.org
In-reply-to: <20030124024854.B9031@linux-mips.org>
Original-recipient: rfc822;linux-mips@linux-mips.org
Sender: linux-mips-bounce@linux-mips.org
On Fri, 24 Jan 2003, Ralf Baechle wrote:
> Most of what your patch does is undoing an accidental commit of a signal
> rework that wasn't yet supposed to go out.

Maybe.. but current version is still wrong :) The type of the sig
array in the 32-bit compatibility struct sigset_t32 must be 32bit long,
i.e. unsigned int not unsigned long.
And I think unsigned describes the data better than signed, but that's a
matter of taste :) (coherent with the choice in asm-mips/signal.h).

Vivien.

--- include/asm-mips64/signal.h 2003-01-26 02:41:48.000000000 +0100
+++ include/asm-mips64/signal.h 2003-01-27 01:28:13.000000000 +0100
@@ -16,7 +16,7 @@
 #define _NSIG_WORDS    (_NSIG / _NSIG_BPW)
 
 typedef struct {
-       long sig[_NSIG_WORDS];
+       unsigned long sig[_NSIG_WORDS];
 } sigset_t;
 
 #define _NSIG32                128
@@ -24,7 +24,7 @@
 #define _NSIG_WORDS32  (_NSIG32 / _NSIG_BPW32)
 
 typedef struct {
-       long sig[_NSIG_WORDS32];
+       unsigned int sig[_NSIG_WORDS32];
 } sigset_t32;
 
 typedef unsigned long old_sigset_t;            /* at least 32 bits */


<Prev in Thread] Current Thread [Next in Thread>