comp.lang.ada
 help / color / mirror / Atom feed
From: Simon Wright <simon@pushface.org>
Subject: Re: Ada.Interrpts.Names
Date: Tue, 29 Jan 2019 13:09:09 +0000
Date: 2019-01-29T13:09:09+00:00	[thread overview]
Message-ID: <lyva27txu2.fsf@pushface.org> (raw)
In-Reply-To: ly1s4vvjry.fsf@pushface.org

Simon Wright <simon@pushface.org> writes:

> lyttlec <lyttlec@removegmail.com> writes:
>
>> Under Ubuntu Linux kill -l lists interrupts including SIGRTMIN and
>> SIGRTMAX. However, gnat a-intnam.ads does not have these, nor does the
>> Ada ARM toolchain. Is there a way to use these interrupts?
>
> Looks as though Interrupt_ID is visibly a numeric type, so you could
> just use the number (so long as it's less than (what on Darwin is)
> System.OS_Interface.Max_Interrupt). Whether the RTS will actually
> respond to the signal in a useful way is another matter. Again,
> System.OS_Interface should offer a clue.

Via mail (better to use the newsgroup!) you said

> I tried that and the program in Chap.4 of "Building Parallel,
> Embedded, and Real-Time Applications with Ada" compiles.  The question
> is whether or not that is the only thing required to get a meaningful
> response?
> The "C" process is quiet complex.
> In Ada it looks like it might be as simple as editing a-intnam.ads,
> s-osinte.ads, and s-linux.ads. Or a lot more complex, like the methods
> for AVR-Ada.

I don't know, because I don't run Linux as my main development
environment.

Your best bet, I'd've thought, would be to write a very simple program
just to catch that signal (i.e. a PO interrupt handler) using the raw
integer and see if it works. If it doesn't, you'd probably have a long
row to hoe. If it does, you can consider whether it's worth the pain of
editing Ada.Interrupts.Names, otherwise, in your code, (e.g.)

   SIGRTMIN : constant Ada.Interrupts.Interrupt_ID := 42; -- or whatever


  reply	other threads:[~2019-01-29 13:09 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-29  3:39 Ada.Interrpts.Names lyttlec
2019-01-29 10:29 ` Ada.Interrpts.Names Simon Wright
2019-01-29 13:09   ` Simon Wright [this message]
2019-01-29 14:31     ` Ada.Interrpts.Names Simon Wright
2019-01-29 14:32     ` Ada.Interrpts.Names Simon Wright
2019-01-30 14:29       ` Ada.Interrpts.Names lyttlec
2019-01-30 20:43         ` Ada.Interrpts.Names Dennis Lee Bieber
2019-02-01 18:33           ` Ada.Interrpts.Names lyttlec
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox