[PolyORB-users] PolyORB mutexes

Thomas Quinot quinot at adacore.com
Wed Apr 15 14:28:15 CEST 2009


* Thomas Quinot, 2009-04-15 :

> > I am looking at PolyORB internals and I would like to know just a curiosity: why PolyORB uses POSIX-like mutexes by default instead standard Ada ones?
> 
> Purely for efficiency reasons. A mutex implemented as a standard Ada
> protected object (PolyORB.Tasking.Profiles.Full_Tasking.Portable_Mutexes)
> is much less efficient than one using the underlying OS mutexes directly
> (PolyORB.Tasking.Profiles.Full_Tasking.Mutexes).

To clarify my answer vs Jérôme's: the above explains why we use system
mutexes directly rather than protected objects in the context of
providing mutexes for the full tasking profile, and Jérôme's explanation
(avoid dragging the tasking runtime in all cases) refers to why we are
using a mutex abstraction rather than protected objects directly in the
code.

-- 
Thomas Quinot, Ph.D. ** quinot at adacore.com ** Senior Software Engineer
               AdaCore -- Paris, France -- New York, USA


More information about the PolyORB-users mailing list