From: I-Arnott, Shane D (Shane.Arnott++at++Australia.Boeing.com)
Date: 07/08/2002 19:49:59
Hi,
Stats:
Performer 2.2.x (Constrained by Vega 3.6)
SGI Irix 6.5.11
I have a number of applications using pfDataPools to share information on
the one machine.
The IG (graphics app) creates the pfDataPool.
All the other apps are Qt-based GUI applications, that do no Performer
graphics, only malloc and access pfDataPool'ed memory.
My apps have been working happily for some time, but our latest build fails
on our Onyx sized machines, after reading the man pages I am now confused on
if I should be calling pfInit in the non-graphics, GUI applications.
My code for the IG looks like this:
vgInitSys(); // this Vega code calls pfInit etc
DATAPOOL = pfDataPool::create(<size>, "name");
...
My GUI code looked like this:
pfInit();
pfInitArenas();
DATAPOOL = pfDataPool::attach("name");
The error that I started to get was:
pfDataPool::attach() by pid xxx could not map datapool
/usr/tmp/name.pfdpool.
Required Address already in use. Try attaching eariler in program.
After reading the man page it says that only pfInitArenas() are only needed
if I am using DataPools to share memory. I've removed the pfInit() call in
my GUI apps and it works correctly. But it complains that I am using a
pfObject before pfInit is called.
Is this a warning I should ignore?
That is, do I need to call pfInit() in my non-graphics/GUI programs?
____________
Shane Arnott
Technical Fellow
Technical Lead, Systems Analysis Laboratory
Boeing Australia, 363 Adelaide St, Brisbane QLD 4001
Email: shane.d.arnott++at++boeing.com
Web Page: http://www.boeing.com.au/SAL/sal.htm
Ph: +61 7 3306 3320
Fax: +61 7 3306 3640
This archive was generated by hypermail 2b29 : Mon Jul 08 2002 - 19:54:06 PDT