Re: Shared Memory Problem (on IRIX and Linux)

New Message Reply Date view Thread view Subject view Author view

From: Mario Veraart (Veraart++at++fel.tno.nl)
Date: 01/26/2001 05:38:21


Guillaume Smietanski wrote:
>
> Dear Performer developpers,
>
> We are developping a 3D Displays for the aircraft since 3 years with
> Open GL Performer (C++ API) on diferrent SGI workstation. It runs good.
> But we have always the problem for the desallocation of nodes which are
> allocate in the shared arena.At the begining I readed a lot of Mail
> about this problem but I did not read any answer. Have some body an
> answer ?
>
> To be clear I explain what we do:
> befor the call of pfInit we build a shared area with:
> tiles = (exchangeDB*) new (sizeof(exchangeDB)*numberOfTiles,
> pfGetSharedArena())pfMemory;

You make an error here.
NEVER call pfGetSharedArena() before pfInit().
That is because pfInit() allocates the shared arena.
A much nicer way of writing your line above is

tiles = (exchangeDB*) pfMalloc(sizeof(exchangeDB)*numberOfTiles,
                               pfGetSharedArena());

> The exchangeDB is an object which contain a system for the communication
> between the application and the Database process.

Aren't you using the pfBuffer sceme. Read the man page pfBuffer and
use the example. Then you don't have to use you own buffer stuff (tiles).

Mario

> At the end of the init phase we call:
> PFMultiprocess(PFMP_FORK_DBASE);
> and we fork the application with pfConfig.
> The tiles of the terrain are correctly loaded but will NEVER be delete.
> We are use different solution without any good result. One of our
> solution is:
> root->bufferRemoveChild(tileDCS);
> pfAsyncDelete(tilesDCS);
> "load a new tiles in tileDCS"
> root->bufferAddChild(tileDCS);
> ...
> pfBuffer::merge();
> pfDBase;
>
> Since few month I try to use our code on LINUX PC. The Performer manual
> page specifies that multiprocess and shared memory with OpenGL Performer
> 2.3 not runs correctly. I have here a bigger problem: during the pfFrame
> after that I delete a tile of the terrain I have a segmentation fault
> and this with the bufferRemoveChild or removeChild method. Have somebody
> any experience here ?
>
> Thanks a lot for any remarks,
> Guillaume Smietanski.


New Message Reply Date view Thread view Subject view Author view

This archive was generated by hypermail 2b29 : Fri Jan 26 2001 - 05:39:39 PST

This message has been cleansed for anti-spam protection. Replace '++at++' in any mail addresses with the '@' symbol.