Implementing Ada.Asynchronous_Task_Control in GNAT



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?
.




Relevant Pages

  • Re: Unexpected error (8000ffff) when checking for windows updates
    ... match): package: ... Microsoft Product Support Services at 1-866-PCSAFETY. ... support calls that are associated with security updates. ... for updates via the Windows update app. ...
    (microsoft.public.windowsupdate)
  • Re: how is Haskell not robust?
    ... Haskell has not reached critical mass. ... have a thousand packages but still poor support for mainstream package ... If anyone would make money with the language or a compiler ...
    (comp.lang.functional)
  • new ppp package
    ... package contains the much requested PPP over ATM and MPPE support. ... * Add a patch from Herbert Xu to fix the PPPIOCDETACH bug. ... * Add the popp example script from Tomas Pospisek. ...
    (Debian-User)
  • RE: SSIS - FTP Error
    ... Dim pkg As Package = New Package ... I will send the error message and my script task code to you shortly. ... > Microsoft Online Partner Support ...
    (microsoft.public.sqlserver.dts)
  • RE: Hung SSIS package is hanging my database
    ... SSIS logging and log providers let you capture details about the package ... connections, it might be some internal errors in SQL Server, To find out ... has to be done by contacting Microsoft Product Support Services. ... Microsoft Product Support Services so that a dedicated Support Professional ...
    (microsoft.public.sqlserver.dts)