comp.lang.ada
 help / color / mirror / Atom feed
From: "Frank J. Lhota" <NOSPAM.lhota@adarose.com>
Subject: Implementing Ada.Asynchronous_Task_Control in GNAT
Date: Tue, 24 May 2005 13:28:49 GMT
Date: 2005-05-24T13:28:49+00:00	[thread overview]
Message-ID: <l_Fke.1$2b.0@trndny09> (raw)

The package Ada.Asynchronous_Task_Control allows one to suspend / resume 
  the execution of a task. The ARM states that an implementation is not 
required to support this package on environments where it would be 
infeasible.

GNAT generally does not support Ada.Asynchronous_Task_Control, but I 
believe that it would be possible to implement this package using the 
Win32 API calls SuspendThread / ResumeThread. These API calls will do 
the brunt of the work, but we still need to do some bookkeeping work in 
order to make sure that held tasks behave as specified in the ARM. If I 
had the code for how this package is implemented on other platforms, I 
could probably modify it to produce a working version of this package 
for MS Windows.

Does anyone know of a GNAT platform that implements asynchronous task 
control? If not, is there a document that explains what modifications 
should be performed on the Ada task control blocks for a call to Hold or 
Continue?



                 reply	other threads:[~2005-05-24 13:28 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed
replies disabled

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