comp.lang.ada
 help / color / mirror / Atom feed
* Implementing Ada.Asynchronous_Task_Control in GNAT
@ 2005-05-24 13:28 Frank J. Lhota
  0 siblings, 0 replies; only message in thread
From: Frank J. Lhota @ 2005-05-24 13:28 UTC (permalink / 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?



^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2005-05-24 13:28 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-05-24 13:28 Implementing Ada.Asynchronous_Task_Control in GNAT Frank J. Lhota

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