--  sleep1.adb
--     Purpose: Show how sleep works.
--     Usage:   ./sleep1
--     Outline: Sets handler, sets alarm, pauses, then returns.

with
  Ada.Text_IO,
  C_Signals;

with Wakeup;

procedure Sleep1 is
   use
     Ada.Text_IO,
     C_Signals;
   Old_Wait : Seconds;
begin
   Put_Line ("about to sleep for 4 seconds");
   Attach (Handler => Wakeup'Access,
           To      => Signal_Alarm);
   Old_Wait := Alarm (4);
   Pause;
   Put_Line ("Morning so soon?");
end Sleep1;

