Allan Schaffer (aschaffe)
Tue, 16 Nov 1993 01:45:34 -0800
The answer to that has to do with the multiprocessing model that your
application is using.
Since you do -not- see this problem, it's likely that you are running
on a machine with only one CPU. In this case, the default MP model
is to have the APP, CULL, and DRAW all occur in the same process.
(PFMP_APPCULLDRAW) In this mode, you can make a GL call from (more or
less) any part of the program.
But this is dangerous (probably fatal) if you ever intend to run on a
multiple-CPU machine.
On a machine with (say) 4 CPU's, the application would default to a
separated APP/CULL/DRAW process model with each process on its' own
CPU. (PFMP_APP_CULL_DRAW)
If this were the case, then only the DRAW process would have an
active GL context; meaning, you can only make GL calls from within a
pipe initialization callback, the draw process callback, or node draw
traversal callbacks. If you were to make GL calls from anywhere else
(ie, within the APP or CULL), you would get a segmentation fault and
core dump.
Confusion about multiprocessing is the #1 source of problems in
Performer applications. When testing, I definately recommend
trying your application in a multi-process mode.
Allan
-- Allan Schaffer Silicon Graphics aschaffe++at++sgi.com
This archive was generated by hypermail 2.0b2 on Mon Aug 10 1998 - 17:50:06 PDT