protected type Event is
procedure Signal;
procedure Reset;
entry Wait;
private
Fired : Boolean := False;
end Event;