[Bf-committers] attempt to fix opengl query crashes under linux
committed
Austin Benesh
bfdeveloper at gmail.com
Fri Jul 7 21:09:17 CEST 2006
I tried it and I don't believe that it's been fixed. Sorry.
- Austin
erwin at erwincoumans.com wrote:
>
> We fixed number 1 and 2 from the list below. Do we actually link with
> pthreads under linux?
> Can someone confirm things improved with latest CVS build?
> Thanks,
> Erwin
>
>
>
>
> from http://dri.sourceforge.net/doc/DRIuserguide.html
> "
> 11.5 libGL.so and dlopen()
> A number of popular OpenGL applications on Linux (such as Quake3,
> HereticII, Heavy Gear 2, etc) dynamically open the libGL.so library at
> runtime with dlopen(), rather than linking with -lGL at compile/link
> time.
> If dynamic loading of libGL.so is not implemented carefully, there can
> be a number of serious problems. Here are the things to be careful of
> in your application:
> 1 * Specify the RTLD_GLOBAL flag to dlopen(). If you don't do this
> then you'll likely see a runtime error message complaining that
> _glapi_Context is undefined when libGL.so tries to open a
> hardware-specific driver. Without this flag, nested opening of dynamic
> libraries does not work.
> 2 * Do not close the library with dlclose() until after
> XCloseDisplay() has been called. When libGL.so initializes itself it
> registers several callbacks functions with Xlib. When XCloseDisplay()
> is called those callback functions are called. If libGL.so has already
> been unloaded with dlclose() this will cause a segmentation fault.
> 3 * Your application should link with -lpthread. On Linux, libGL.so
> uses the pthreads library in order to provide thread safety. There is
> apparently a bug in the dlopen()/dlclose() code which causes crashes
> if the library uses pthreads but the parent application doesn't. The
> only known work-around is to link the application with -lpthread.
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at projects.blender.org
> http://projects.blender.org/mailman/listinfo/bf-committers
More information about the Bf-committers
mailing list