gnu.gcc.help
[Top] [All Lists]

Re: Catching SIGFPE two times

Subject: Re: Catching SIGFPE two times
From: Andrew Haley <aph@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
Date: Fri, 11 Jul 2008 15:11:04 -0500
Newsgroups: gnu.gcc.help

thomas.mertes@xxxxxx wrote:
> 
> Has someone an idea how a program can have more than
> one SIGFPE catched with a setjmp/longjmp exception?

Because you used longjmp() to leave the handler, the kernel thinks
you're still in the handler!  You need to re-enable the handler with
sigprocmask(2)

  sigset_t sigs;
  sigemptyset (&sigs);
  sigaddset (&sigs, signum);
  sigprocmask (SIG_UNBLOCK, &sigs, NULL);

Andrew.

<Prev in Thread] Current Thread [Next in Thread>