Did you ever figure this out? I'm seeing the same issue. On Aug 12, 8:24 am, Ashutosh <as...@techmahindra.com> wrote: > Below is the sample code -- > > #include <stdio.h> > #include <errno.h> > #include <signal.h> > #include <string.h> > > int main() > { > int retval = -1; > sigset_t allsig, oldsig; > > printf("sizeof(sigset_t) = %d\n", sizeof(sigset_t)); > > sigfillset (&allsig); > retval = pthread_sigmask (SIG_SETMASK, &allsig, &oldsig); > printf("SIG_SETMASK = %d\n", SIG_SETMASK); > if (retval < 0) > { > printf("pthread_sigmask(): %s, errno = %d, retval = %d\n", > strerror(errno), errno, retval); > // return -1; > } > > retval = pthread_sigmask (SIG_SETMASK, &oldsig, 0); > if (retval != 0) > { > printf("Restore sigmask: %s, errno = %d, retval = %d\n", > strerror(errno), errno, retval); > // return -1; > } > > return 0; > > } > > When I run this code on ADP1, I get following output -- > > sizeof(sigset_t) = 4 > SIG_SETMASK = 2 > pthread_sigmask(): Invalid argument, errno = 22, retval = -1 > Restore sigmask: Invalid argument, errno = 22, retval = -1 > > strace shows that rt_sigprocmask() failed with error EINVAL > > rt_sigprocmask(SIG_SETMASK, ~[], 0xbec7cbb4, 4) = -1 EINVAL (Invalid > argument) > rt_sigprocmask(SIG_SETMASK, [STKFLT], NULL, 4) = -1 EINVAL (Invalid > argument) > > In kernel it fails at 'if (sigsetsize != sizeof(sigset_t))' in > function rt_sigprocmask() in file kernel/signal.c . > Here size of sigset_t is 8 and size of sigsetsize is 4. > > I looked at file arch/arm/include/asm/signal.h and found that size of > sigset_t is 8 ((_NSIG_WORDS=2)*(sizeof(unsigned long))). > > Further analysis shows that in file libc/bionic/pthread.c last > argument is passed as (_NSIG / 8) and _NSIG(==NSIG) is defined as 32 > in libc/kernel/arch-arm/asm/signal.h. > > Why does this inconsistency exist? Have I missed something or it is > like this and what do I need to do to get this working. I have tried > this on 2.6.27 and 2.6.29 both. The current output is on 2.6.29. > > Please help. > > Thanks > Ashutosh
--~--~---------~--~----~------------~-------~--~----~ unsubscribe: android-kernel+unsubscr...@googlegroups.com website: http://groups.google.com/group/android-kernel -~----------~----~----~----~------~----~------~--~---