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,667de268f02e30c1,start X-Google-Attributes: gid103376,public From: Paul Van Gorp Subject: task pointer Date: 1997/10/20 Message-ID: <344AA999.1AB2@eelab.su.oz.au>#1/1 X-Deja-AN: 282400749 Distribution: inet Organization: University of sydney Newsgroups: comp.lang.ada Date: 1997-10-20T00:00:00+00:00 List-Id: I have this problem I want to try to over come, consider.. task type t1 is entry a; entry done; end t1; task type t2 is entry a(** access to type t1 **); entry b; end t2; task body t1 is T: t2; begin loop select accept a(**pointer to me**); T.b; ... or accept done; ... end select; end loop; end t1; task body t2 is C: **task t1 pointer** begin loop select accept a(**task pointer**) do C := task pointer; end; ... *task pointer*.done; or ... end t2; How would I go about passing the task pointer ? I read in DejaNews where someone put up a similar question about equivalent to C++'s *this pointer, and their response suggested to use the type name as the this pointer. I tried this and got a gnat bug message when I tried to use the Unchecked_Access' command! Does anyone have a workaround ? Thanks, Paul