I was wondering if anyone had any experience with using DEC Alpha,
Motif, OpenGl, and threads. I haven't found a lot of resources about
threads and OpenGL in a unix environment.
I'm having a problem with a Motif based application that uses DEC UNIX
4.0D, OpenGL 1.1, and pthreads. My application has three threads (2 for
dealing with socket communication and 1 for the GUI interface,
XtAppMainLoop, OpenGL stuff).
My system is a DEC (guess it's Compaq now) Personal Workstation 500au,
Powerstorm 4D50T video card, running Digital Unix 4.0D, OpenGL 1.1 (DEC
refers to their implementation as Open3D v4.9), CDE, Motif 1.2. I've
been using DEC's C++ compiler / linker and gnu c++ compiler / linker.
The problem occurs during initialization of the class that I've wrapped
the OpenGL in (when the class is being created). Running the
application through DEC's Ladebug de* reveals that the application
is sitting and waiting on an XGetVisualInfo function call. It also
appears that the GUI thread that is going through this initialization
already got a mutex lock and is trying to acquire another one. The
application will eventually start after three or four tries. Once the
application starts, everything runs fine.
I make the usual calls (XInitThreads and XtToolkitThreadInitialize) to
make sure thread safe X, Xt libraries are linked in. There is little in
the documentation of Open3D about the safety in threads or in a threaded
This has been a mind boggling problem. Thanks.