BC.Support.Synchronization: the Finalize calls aren't protected against multiple calls, which is entirely legal in Ada.
The obvious problem is with Read_Lock, but there may be other more obscure possibilities.
ARM95 7.6.1(24), Note 21: the types involved are visibly only limited private, so the user can't call Finalize explicitly, so there will only be one call to Finalize
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
ARM95 7.6.1(24), Note 21: the types involved are visibly only limited private, so the user can't call Finalize explicitly, so there will only be one call to Finalize