From: Reto Buerki <reet@codelabs.ch>
Subject: Re: Interrupt handler and Ada.Real_Time.Timing_Events
Date: Sat, 16 May 2009 02:20:54 +0200
Date: 2009-05-16T02:20:54+02:00 [thread overview]
Message-ID: <4A0E06E6.4000209@codelabs.ch> (raw)
In-Reply-To: <d963de18-83f6-4f92-a30b-39b7f9dfc4d3@r34g2000vbi.googlegroups.com>
Ludovic Brenta wrote:
> On May 15, 6:26 pm, Reto Buerki <r...@codelabs.ch> wrote:
>> What could be the cause for this behavior? Is there a problem with this
>> code?
>
> Ada.Real_Time.Timing_Events's elaboration block creates a task and
> promotes it to an outer level (i.e. it is no longer dependent on a
> master). The only way to terminate this task is by sending it
> SIGTERM, so the task attaches another signal handler to SIGTERM before
> yours. That handler catches the signal and does not propagate it to
> any other handler. See System.Task_Primitives.Operations.Initialize.
>
> I'm afraid there is no way out :) maybe you can use another signal in
> your task?
I tried attaching the handler to various signals. As soon as the timer
task is started in the Ada.Real_Time.Timing_Events elaboration block, my
own handler is not triggered any more. This seems odd.
We are using Ada.Real_Time.Timing_Events to implement an event-driven
architecture in our application. The Timing_Event type seemed perfect
for this.
Nevertheless, the application should still be able to react to signals
it may receive from the operating system. Is it really Timing_Events XOR
interrupt handling?
next prev parent reply other threads:[~2009-05-16 0:20 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-05-15 16:26 Interrupt handler and Ada.Real_Time.Timing_Events Reto Buerki
2009-05-15 16:54 ` Adam Beneschan
2009-05-15 23:24 ` Reto Buerki
2009-05-15 16:56 ` Ludovic Brenta
2009-05-15 23:24 ` Hibou57 (Yannick Duchêne)
2009-05-16 0:20 ` Reto Buerki [this message]
2009-05-16 0:38 ` Jeffrey R. Carter
2009-05-29 15:59 ` Reto Buerki
2009-05-16 6:28 ` sjw
2009-05-16 11:05 ` Timing Example was " anon
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox