comp.lang.ada
 help / color / mirror / Atom feed
From: Mark Lorenzen <mark.lorenzen@gmail.com>
Subject: Re: Launching background job from Ada.Real_Time.Timing_Events
Date: Tue, 24 May 2016 07:39:24 -0700 (PDT)
Date: 2016-05-24T07:39:24-07:00	[thread overview]
Message-ID: <5557a3ec-c208-48fe-bdd5-f20ca36b7653@googlegroups.com> (raw)
In-Reply-To: <ni1nsh$46j$1@dont-email.me>

On Tuesday, May 24, 2016 at 4:22:36 PM UTC+2, Alejandro R. Mosteo wrote:
> Hello all,
> 
> I'm stuck with something not that strange, so I guess I need another 
> viewpoint on it.
> 
> I want to trigger, in the future, a possibly long computation in the 
> background. For that I had thought of using the built-in Real_Time events.
> 
> My idea was to queue the job when the event is triggered, and to have a 
> worker thread waiting for jobs in the queue. However, I've just realized 
> that the event handler is itself a protected action, so I can't call 
> another potentially blocking enqueue from there.
> 
> Any ideas? Basically, how to trigger another task (without creating it) 
> from within a protected handler?
> 
> Thanks,
> Alex.

You can let the PO implementing the job queue be the same as the PO implementing the timing event handler.

If you want to detach the high-priority PO implementing the timer event handler from the PO implementing the job queue, then let a task block on an entry in the first PO and put the job into the second PO. The task is then the active object moving data between the POs and thus detaching them.

Regards,

Mark L


  reply	other threads:[~2016-05-24 14:39 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-24 14:22 Launching background job from Ada.Real_Time.Timing_Events Alejandro R. Mosteo
2016-05-24 14:39 ` Mark Lorenzen [this message]
2016-05-24 15:06   ` Alejandro R. Mosteo
2016-05-24 22:21   ` Jeffrey R. Carter
2016-06-02 21:13     ` Alejandro R. Mosteo
2016-06-02 23:16       ` Jeffrey R. Carter
2016-05-24 23:52 ` Jeffrey R. Carter
2016-06-02 21:22   ` Alejandro R. Mosteo
2016-05-25  7:23 ` Dmitry A. Kazakov
2016-06-02 21:25   ` Alejandro R. Mosteo
2016-06-03  7:26     ` Dmitry A. Kazakov
2016-06-03 10:03       ` Alejandro R. Mosteo
2016-06-03 12:15         ` Dmitry A. Kazakov
replies disabled

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