From: Robert A Duff <bobduff@shell01.TheWorld.com>
Subject: Re: GNAT bending signal handlers
Date: 13 May 2003 09:34:48 -0400
Date: 2003-05-13T09:34:48-04:00 [thread overview]
Message-ID: <wccy91bm0lj.fsf@shell01.TheWorld.com> (raw)
In-Reply-To: 6a6390b8.0305130305.13dfc423@posting.google.com
okellogg@freenet.de (Oliver Kellogg) writes:
> Mark Johnson <mark_h_johnson@raytheon.com> wrote in message news:<3EBFDAB9.441F858D@raytheon.com>...
> >
> > I suggest a look at the "super secret" GNAT Reference Manual for this
> > answer. Look for Pragma Interrupt_State (or simply search for "signal")
> > to see why various signals are required to implement Ada exceptions.
>
> Hm, I can't find anything on a pragma Interrupt_State
> (looked in gnat-3.15p-unx-docs as well as
> http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/gnat_rm.texi?rev=1.12&content-type=text/x-cvsweb-markup
> , also searched for "signal".)
>
> Anyway, I tried adding the following at the start of the main program:
>
> System.Interrupt_Management.Operations.Install_Default_Action
> (System.Interrupt_Management.Interrupt_ID
> (System.OS_Interface.SIGSEGV));
>
> but it doesn't change the behavior, apparently because
>
> System.Interrupt_Management.Reserve (System.OS_Interface.SIGSEGV) =
> True
GNAT supports a pragma Unreserve_All_Interrupts, which I found to be
necessary when I wanted to handle SIGINT. I don't know if that's
related to your problem...
- Bob
next prev parent reply other threads:[~2003-05-13 13:34 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-05-12 9:29 GNAT bending signal handlers Oliver Kellogg
2003-05-12 17:32 ` Mark Johnson
2003-05-13 11:05 ` Oliver Kellogg
2003-05-13 13:33 ` Mark Johnson
2003-05-13 13:34 ` Robert A Duff [this message]
2003-05-14 12:39 ` Oliver Kellogg
2003-05-28 22:19 ` Robert A Duff
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox