1. -- 
  2. -- Uwe R. Zimmer, Australia, 2013 
  3. -- 
  4.  
  5. with Ada.Unchecked_Deallocation; 
  6.  
  7. package Barrier_Type is 
  8.  
  9.    protected type Barrier is 
  10.  
  11.       entry     Wait; 
  12.       procedure Open; 
  13.       procedure Close; 
  14.  
  15.    private 
  16.       Opened : Boolean := False; 
  17.  
  18.    end Barrier; 
  19.  
  20.    type Barrier_Ptr is access Barrier; 
  21.  
  22.    procedure Free is 
  23.      new Ada.Unchecked_Deallocation (Object => Barrier, Name => Barrier_Ptr); 
  24.  
  25. end Barrier_Type;