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=-0.8 required=5.0 tests=BAYES_00,INVALID_DATE autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,493da5dc0090bf8b X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 1994-11-04 13:31:45 PST Newsgroups: comp.lang.ada Path: nntp.gmd.de!xlink.net!howland.reston.ans.net!gatech!udel!news.mathworks.com!yeshua.marcam.com!uunet!ois!beckwb From: beckwb@ois.com (R. William Beckwith) Subject: Re: Tasking and C-interfaces - variable storage Message-ID: Organization: Objective Interface Systems, Inc. X-Newsreader: TIN version 1.2 PL2 References: Date: Sat, 5 Nov 1994 03:17:09 GMT Date: 1994-11-05T03:17:09+00:00 List-Id: mcnett michael david (mmcnett@sparc53.cs.uiuc.edu) wrote: : I am having a problem concerning tasking. I am using GNAT-1.83 for Sparc 4.1. : It appears that when I instantiate a task, the variables that are directly : defined in the task body are correctly being maintained (ie. a seperate copy : for each task instantiated). However, I am making calls to several C routines : within each task, but it appears that each task is not maintaining its own : copies of the variables in those C routines. Without seeing the C code I can only venture a guess that the C code is using global (static) variables. The stack based C variables (arguments and locals automatic) should have separate copies for each task. You might want to make sure the size of each task's stack is large enough if their are no global variables in the C code. ... Bill -- e-mail: Bill.Beckwith@ois.com | Team Ada Objective Interface Systems, Inc. | dist, full O-O 1895 Preston White Drive, Suite 250 | multithreading Reston, VA 22091-5448 U.S.A. | built in