strange sigaction ()
pnilesh at in.ibm.com
pnilesh at in.ibm.com
Wed Mar 7 23:40:48 EST 2001
It did not work for me !!
Is the problem with kernel or it is elsewhere ?
Which kernel patch will fix this ?
Try the following, it works for me:
#include <stdlib.h>
#include <stdio.h>
#include <signal.h>
static struct sigaction act;
static void handler (int,siginfo_t *,void *);
int
main ()
{
act.sa_sigaction=handler;
act.sa_flags=SA_SIGINFO;
sigaction (SIGALRM,&act,NULL);
alarm (1);
sleep (2);
}
void handler (int x, siginfo_t *s,void *v)
{
printf ("si_signo = %d, si_code = %d, si_errno = %d\n",s->si_signo,
s->si_code, s->si_errno);
}
[kbhend at localhost kbhend]$ gcc -otest test.c
[kbhend at localhost kbhend]$ ./test
si_signo = 14, si_code = 0, si_errno = 0
[kbhend at localhost kbhend]$
On Tuesday 06 March 2001 06:04, pnilesh at in.ibm.com wrote:
> I am seeing a strange problem with sigaction on powerpc.
>
> static struct sigaction act;
> static void handler (int,siginfo_t *,void *);
> main ()
> {
> sigaction (SIGALRM,&act,NULL);
> alarm (1);
> sleep (2);
> }
>
> void handler (int x, siginfo_t *s,void *v)
> {
> printf ("si_signo = %d, si_code = %d, si_errno =
%d\n",s->si_signo,
> s->si_code, s->si_errno);
> }
>
> This program gives meaningful values on Linux Intel Redhat.
> On Apple Dual G4 PowerPC I am getting junk values
> si_signo = 805464356
> si_errno = 805464640
> si_code = 21
>
> I dont know what is happening.
> Please educate me.
>
> Nilesh
>
>
>
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
More information about the Linuxppc-dev
mailing list