Newsgroups: comp.sys.transputer
From: luigi@labinfo.iet.unipi.it (Luigi Rizzo)
Subject: Re: Calling functions "belonging" to another configured process
Organization: Dip. di Ingegneria dell'Informazione, Univ. di Pisa
Date: 5 Oct 1994 08:18:03 GMT
Message-ID: <36tnfr$b74@serra.unipi.it>

In article <1994Oct4.204849.11920@mprgate.mpr.ca>, ashdown@mpr.ca (Scott Ashdown) writes:
|> I'm looking for a way (using INMOS C) to allow a configured process to call 
|> functions that were linked into another configured process' *.lku file. The
|> method is this:
...

|> So what's my problem? Why won't things work between two *configured* processes?
|> I realize that the working version with the dynamically-created process has two
|> processes which share the same heap - so is it something to do with addresses?

I am pretty sure it has to do with global data space. If you create
a process dynamically, the run time support will pass it a pointer
to the global data area (where, in turn, there should be data
structures related to the heap). Even if your code does not access
any global variable, you don't know what the libraries do (and they
surely use them data, e.g. in the allocator and possibly elsewhere).

We faced a similar problem in the past. I don't have a solution as
I don't know where the pointer to the global data space is held
with the Inmos C compiler. A posting to the net (about one year
ago) did not help.

	Luigi

-- 
====================================================================
Luigi Rizzo                     Dip. di Ingegneria dell'Informazione
email: luigi@iet.unipi.it       Universita' di Pisa
tel: +39-50-568533              via Diotisalvi 2, 56126 PISA (Italy)
fax: +39-50-568522
====================================================================

