From: Jean-Pierre Rosen <rosen@adalog.fr>
Subject: Re: Access procedure to pointer
Date: Wed, 28 May 2008 17:26:01 +0200
Date: 2008-05-28T17:26:01+02:00 [thread overview]
Message-ID: <eitj1g.lh8.ln@hunter.axlog.fr> (raw)
In-Reply-To: <483D72F0.9090308@gmail.com>
S�bastien a �crit :
>> Why don't you simply use Ada.Interrupts?
>
> Two reasons:
> 1) It didn't know it exists
> 2) It's not documented, and not intuitive, no example nothing to start.
>
> As a matter of fact, the first problem is solved ;-), if you any help
> about the second problem, I'll be happy to use standard package instead
> of mine.
>
Well, it is documented in the reference manual, and a quick search for
the word "interrupt" in the index would have put you right there...
However, I think this is an interesting example. I guess the OP simply
thought "oh, I must handle interrupts, therefore I must interface with
the system - i.e. use C)", he didn't even imagine that it was provided
out of the box...
Short answer: to attach statically:
pragma Attach_Handler (PO.P, Interrupt_Number);
to attach dynamically:
Ada.Interrupts.Attach_Handler (PO.P'Access, Interrupt_Number);
Note that the handler must be a *protected* procedure (i.e. a procedure
declared in a protected type), to model the non-reentrant nature of
interrupt handlers.
--
---------------------------------------------------------
J-P. Rosen (rosen@adalog.fr)
Visit Adalog's web site at http://www.adalog.fr
next prev parent reply other threads:[~2008-05-28 15:26 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-05-27 11:19 Access procedure to pointer Sébastien
2008-05-27 12:05 ` Ludovic Brenta
2008-05-27 17:45 ` Sébastien
2008-05-27 18:26 ` Dmitry A. Kazakov
2008-05-28 9:06 ` Sébastien
2008-05-28 10:13 ` Jean-Pierre Rosen
2008-05-28 14:57 ` Sébastien
2008-05-28 15:26 ` Jean-Pierre Rosen [this message]
2008-05-28 18:16 ` Jeffrey R. Carter
2008-05-28 18:30 ` Robert A Duff
2008-05-28 21:36 ` Adam Beneschan
2008-05-28 23:02 ` Sebastien Morand
2008-05-29 0:58 ` Jeffrey R. Carter
2008-05-29 9:06 ` Sébastien
2008-05-29 20:20 ` Jeffrey R. Carter
2008-05-29 8:43 ` Jean-Pierre Rosen
2008-05-29 10:18 ` Sébastien
2008-05-29 11:34 ` Jean-Pierre Rosen
2008-05-31 5:52 ` Stephen Leake
2008-06-02 12:24 ` Sébastien
2008-06-02 12:55 ` Georg Bauhaus
2008-06-02 18:19 ` Jeffrey R. Carter
2008-06-02 18:25 ` Pascal Obry
2008-06-03 10:06 ` Sébastien Morand
2008-06-03 13:26 ` Ed Falis
2008-06-03 19:41 ` Stephen Leake
2008-06-02 15:35 ` Adam Beneschan
2008-06-02 17:11 ` Jean-Pierre Rosen
2008-06-03 19:43 ` Stephen Leake
2008-05-28 15:29 ` Sébastien
2008-05-28 17:00 ` Simon Wright
2008-05-27 20:06 ` Jeffrey R. Carter
2008-05-27 22:27 ` Adam Beneschan
2008-05-27 16:51 ` Jeffrey R. Carter
2008-05-27 17:42 ` Sébastien
2008-05-27 20:02 ` Jeffrey R. Carter
2008-05-27 20:45 ` Jacob Sparre Andersen
2008-05-28 8:48 ` Sébastien
2008-05-28 20:41 ` Jacob Sparre Andersen
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox