---------------------------------
-- D. Mathieu                  --
--                             --
-- fichier P_Serveur.adb       --
--                             --
-- créé le 26/12/98            --
--                             --
---------------------------------
 
package body P_Serveur is

    task body TskServeur is
        task type T_TskSlave is
            entry Service (IdSlave  : out Task_ID);
        end T_TskSlave;
 
        task body T_TskSlave is
 
        begin -- T_TskSlave
 
            accept Service (IdSlave   : out Task_ID) do
                IdSlave := Current_Task;
                delay 1.0;  -- simule le service
            end Service;
 
        end T_TskSlave;
 
        type T_PtrTskSlave is access T_TskSlave;
 
        Ptr : T_PtrTskSlave;
 
    begin -- TskServeur
 
        loop
            select
                accept Service (IdSlave : out Task_ID) do
                    Ptr := new T_TskSlave;
                    requeue Ptr.Service;
                 end Service;
            or
                terminate;
            end select;
        end loop;

    end TskServeur;
 
begin -- P_Serveur

    null;
 
end P_Serveur;