From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,653536bc97e30bb8,start X-Google-Attributes: gid103376,public From: Andre Heidenreich Subject: problem with tasking (ada95) Date: 1998/04/29 Message-ID: #1/1 X-Deja-AN: 348774740 X-Sender: heidenae@trick Content-Type: TEXT/PLAIN; charset=US-ASCII Organization: Informatik, Uni Stuttgart, Germany Mime-Version: 1.0 Newsgroups: comp.lang.ada Date: 1998-04-29T00:00:00+00:00 List-Id: hi all comp.lang.ada.reader, could anyone tell me, why the tasking in the followed source didn't work. the complatiton works correct, but when it was executed, the task of type clienttasktyp didn't want to start although the 'server' task send out an entry call ...Starten(-1). the sourcecode is not absolutely completely. thank you. -------------------------- with Text_IO; use Text_IO; with vg; use vg; procedure Spiel is task type ClientTaskTyp is entry Starten(FirstPlayer : SpielerTyp); entry Spielen; entry Quit; end ClientTaskTyp; ------------------------- -- task Clients ------------------------- task body ClientTaskTyp is ... ActivePlayer : SpielerTyp; ... begin accept Starten(FirstPlayer : in SpielerTyp) do ActivePlayer := FirstPlayer; end Starten; loop select accept Spielen; loop Zugnr := Zugnr + 1; if ActivePlayer = 1 then -- Rechner ... UpdateTree(Spielfeld, Zugnr, -1); exit; end if; ActivePlayer := -ActivePlayer; end loop; or accept Quit; end select; end loop; end ClientTaskTyp; ------------------------ -- task Server ------------------------ task Server is entry Action; end Server; task body Server is package MyInt is new text_io.integer_io(integer); taskarray : array (1..10) of ClientTaskTyp; ... procedure CreateClient is begin ActivePlayer := Eingabe; RunningClients := RunningClients + 1; taskarray(RunningClients).Starten(ActivePlayer); taskarray(RunningClients).Spielen; end CreateClient; ... begin -- server task loop accept Action do loop ClrScr; ... Quitall; quit := true; when others => null; end case; end Action; exit when quit; end loop; end Server; --------------------------------------------------- begin -- main Server.Action; ClrScr; new_line; end Spiel; -- heidenae@trick.informatik.uni-stuttgart.de -- -- heid.a@studbox.uni-stuttgart.de -- -- heid.a@swol.de --