comp.lang.ada
 help / color / mirror / Atom feed
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



  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