On mercoledì 19 settembre 2007, Andrew Morton wrote:
> On Tue, 18 Sep 2007 19:33:36 -0400

> Jeff Dike <[EMAIL PROTECTED]> wrote:
> > ===================================================================
> > --- linux-2.6.17.orig/arch/um/os-Linux/signal.c     2007-09-09
> > 11:15:37.000000000 -0400 +++
> > linux-2.6.17/arch/um/os-Linux/signal.c      2007-09-18 12:32:40.000000000
> > -0400 @@ -119,7 +119,7 @@ void (*handlers[_NSIG])(int sig, struct
> >
> >  void handle_signal(int sig, struct sigcontext *sc)
> >  {
> > -   unsigned long pending = 0;
> > +   unsigned long pending = 1 << sig;

> You want 1UL there.

Yes, indeed - or sign extension on 64bit machines would set to 1 the whole 
high-word.

But using long for that mask makes no difference; either int or long long (or 
better, either u32 or u64) should be used, given that the used signal range 
is the same on 32 and 64bit machines, it should be u32 for normal signals or 
u64 if RT-signals are also allowed.
-- 
"Doh!" (cit.), I've made another mistake!
Paolo Giarrusso, aka Blaisorblade

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to