comp.lang.ada
 help / color / mirror / Atom feed
From: dennison@telepath.com
Subject: Re: Tasks and C/C++ code.
Date: 1998/11/11
Date: 1998-11-11T00:00:00+00:00	[thread overview]
Message-ID: <72cppi$77u$1@nnrp1.dejanews.com> (raw)
In-Reply-To: 3649A4C4.4D3D22A2@hiwaay.net

In article <3649A4C4.4D3D22A2@hiwaay.net>,
  bdorough@phaseiv.com wrote:
> So, if I understand correctly defining the pragma to C in the declaration part
of
> the task body will give me multiple binding to the same function if there are
> multiple tasks?

If there are multiple tasks of that type, or if there are multiple tasks with
"pragma Import"s using the same "External_Name" value, yes.

> If this is correct what happens when you write an Ada procedure/function in a
> task?  Does each task get it own copy?  I hope the answer is yes or I have
> completely misunderstood the Ada tasking model!

Yes again. If the body of a subprogram is physically *in* the task's body,
then every task gets its own copy of that subprogram (along with all the
other objects it declares). However, the body for the "pragma Import" is
really in an object file which was declared (in C) at the top scope level. In
this sense, its much like doing a "renames" clause on a library unit.

--
T.E.D.

-----------== Posted via Deja News, The Discussion Network ==----------
http://www.dejanews.com/       Search, Read, Discuss, or Start Your Own    




  reply	other threads:[~1998-11-11  0:00 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1998-11-09  0:00 Tasks and C/C++ code Barry L. Dorough
1998-11-09  0:00 ` Mats Weber
1998-11-10  0:00 ` dennison
1998-11-11  0:00   ` dbotton
1998-11-11  0:00     ` Barry L. Dorough
1998-11-11  0:00       ` dennison [this message]
1998-11-12  0:00       ` Jerry van Dijk
1998-11-13  0:00       ` Mats Weber
1998-11-11  0:00     ` dennison
1998-11-18  0:00     ` Samuel Tardieu
1998-11-19  0:00       ` Mats Weber
1998-11-20  0:00         ` Samuel Tardieu
1998-11-23  0:00           ` Mats Weber
1998-11-23  0:00             ` Tom Moran
1998-11-24  0:00               ` Blocking protected ops (was: Tasks and C/C++ code) Mats Weber
1998-11-24  0:00                 ` Robert I. Eachus
1998-11-25  0:00                   ` Mats Weber
1998-11-25  0:00                     ` Jean-Pierre Rosen
1998-11-27  0:00                       ` Mats Weber
1998-11-25  0:00                     ` Robert I. Eachus
1998-11-26  0:00                       ` Simon Wright
1998-11-27  0:00                         ` David Botton
1998-11-27  0:00                           ` Mats Weber
1998-11-27  0:00                           ` Tom Moran
1998-11-27  0:00                             ` Jerry van Dijk
1998-11-28  0:00                               ` Tom Moran
1998-11-29  0:00                         ` Tucker Taft
1998-11-30  0:00                           ` Simon Wright
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox