Implementing Ada.Asynchronous_Task_Control in GNAT
- From: "Frank J. Lhota" <NOSPAM.lhota@xxxxxxxxxxx>
- Date: Tue, 24 May 2005 13:28:49 GMT
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?
.
- Prev by Date: Re: gnat: symbolic traceback on exceptions
- Next by Date: Re: gnat: symbolic traceback on exceptions
- Previous by thread: Re: Calling C++ procedures from Ada - Linkage problem
- Next by thread: Gnat STORAGE_ERROR
- Index(es):
Relevant Pages
|