This version provides implementations of various locking primitives:
- Plain events which can be signaled, reset and awaited for;
- Arrays of events which can be signaled, reset and awaited in any
combination of in race condition free way;
- Arrays of reentrant mutexes, deadlock-free with an enforced order of
locking;
- Race condition free event distributing pulsed value to multiple
tasks;
- Reentrant mutexes;
- Race condition free pulse events.
The do***entation provides a discussion of using protected objects in Ada.
It represents a programming pattern for using entry parameter values in
the
barrier and shows a way of avoiding race conditions. It also includes
- A solution of the problem of tasks synchronization at a check point
based on sets of events;
- A solution of the dining philosophers problem based on sets of
mutexes.
http://www.dmitry-kazakov.de/ada/components.htm
--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de