The "Ada Tasking in C++" Library


Release Notes

For questions, problems, or suggestions, please contact the author:

Hans K Buhrer
P.O. Box 572
Gilroy, CA 95021

konib@hotpop.com

I will gladly fix any defects you may find. Just send me an email with a description of the problem.
Response time may vary.


Version 1.1

This is the first release of the "Ada Tasking in C++" library.

Currently for Windows only. A Linux version will be released in the near future.

Known problems

[Delayed Priority Boost]
A high-priority caller task calls the entry of a low-priority owner task, and the owner task is already waiting for a call. In that situation, the priority of the owner task should be boosted before the caller task relinquishes the the processor (so that the owner task immediately becomes the highest priority task).
However, that does not happen. The owner task priority is boosted eventually, but there is a window for a medium priority task to grab the processor while the caller task is already suspended and the owner task is still suspended.

[Cannot handle SIGFPE]
Signal entries cannot be used to handle SIGFPE (floating point processor) signals. Incidentally, on Windows, SIGFPE is the only meaningful signal the operating system sends (pity).
The problem is that SIGFPE requires immediate action within the signal handler routine to reset the floating point processor. I am not sure if this can be hard-coded in the "Ada Tasking in C++" library's signal handler.