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