On Tue, Mar 30, 2010 at 01:00:39AM +0100, Jamie Lokier wrote:
> Aurelien Jarno wrote:
> > On Mon, Mar 29, 2010 at 11:36:50AM +0200, Paolo Bonzini wrote:
> > >
> > >> +#ifdef __ia64
> > >> +        sigprocmask(SIG_SETMASK, (sigset_t *)&uc->uc_sigmask, NULL);
> > >> +#else
> > >>           sigprocmask(SIG_SETMASK,&uc->uc_sigmask, NULL);
> > >> +#endif
> > >
> > > Any reason for the ifdef?
> > >
> > 
> > It is not strictly needed, as all architectures can cope with the ia64
> > version. I have added it to make sure that a new architecture triggers a
> > warning if uc->uc_sigmask is not of type sigset_t, so that a human can
> > verify the cast is correct.
> 
> What type is the ia64 uc_sigmask, if not sigset_t?

It is defined as a unsigned long int. From <bits/sigcontext.h>:

|  /* sc_mask is actually an sigset_t but we don't want to
|   * include the kernel headers here. */
|  unsigned long int sc_mask;    /* signal mask to restore after handler 
returns */


-- 
Aurelien Jarno                          GPG: 1024D/F1BCDB73
aurel...@aurel32.net                 http://www.aurel32.net


Reply via email to