strange sigaction ()

2 messages, 2 authors, 2001-03-06 · open the first message on its own page

strange sigaction ()

From: <hidden>
Date: 2001-03-06 11:04:04

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/

Re: strange sigaction ()

From: Kevin B. Hendricks <hidden>
Date: 2001-03-06 15:24:59

Hi,


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@localhost kbhend]$ gcc -otest test.c
[kbhend@localhost kbhend]$ ./test
si_signo   = 14, si_code  = 0, si_errno  = 0
[kbhend@localhost kbhend]$


On Tuesday 06 March 2001 06:04, pnilesh@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/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help