For questions, problems, or suggestions, please contact the author:
Hans K Buhrer
P.O. Box 572
Gilroy, CA 95021
I will gladly fix any defects you may find. Just send me an email with a description of
the problem.
Response time may vary.
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.
[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.