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.7 required=5.0 tests=BAYES_00,FROM_WORDY, INVALID_DATE,MSGID_SHORT autolearn=no autolearn_force=no version=3.4.4 Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!watmath!clyde!cuae2!ltuxa!we53!sw013b!dj3b1!killer!ndmce!pollux!infotel!ut-ngp!ut-sally!seismo!think!nike!ucbcad!ucbvax!SIERRA.STANFORD.EDU!Bryan From: Bryan@SIERRA.STANFORD.EDU@ndmce.uucp (Doug Bryan) Newsgroups: net.lang.ada Subject: Re: Need to see certain data inside a task type. Message-ID: <344@ndmce.uucp> Date: Fri, 17-Oct-86 17:10:44 EDT Article-I.D.: ndmce.344 Posted: Fri Oct 17 17:10:44 1986 Date-Received: Tue, 21-Oct-86 05:30:13 EDT Sender: news@ndmce.uucp Organization: The ARPA Internet List-Id: Here is an idea for you... let me know if you get anything better. doug ........................ generic package Pack is task type T is entry My_Discriminant (D : Integer); entry Echo_Discriminant; end T; type Acc is access T; function F (D : Integer) return Acc; type Rec (D : Integer) is record Acc_T : Acc := F (D); end record; end Pack; ------------------------------- with Text_Io; package body Pack is function F (D : Integer) return Acc is A : Acc := new T; begin A.My_Discriminant (D); return A; end F; task body T is Local_Discriminant : Integer; begin accept My_Discriminant (D : Integer) do Local_Discriminant := D; end My_Discriminant; accept Echo_Discriminant; Text_Io.Put_Line (Integer'Image (Local_Discriminant)); end T; end Pack; ------------------------------- with Pack; procedure Disc_Task is package P is new Pack; -- Pack is generic in order to force elaboration of body before -- the following objects are elaborated. Rec_1 : P.Rec (1); Rec_2 : P.Rec (2); Rec_3 : P.Rec (3); begin Rec_1.Acc_T.Echo_Discriminant; Rec_2.Acc_T.Echo_Discriminant; Rec_3.Acc_T.Echo_Discriminant; end Disc_Task; -------