Andy Ross wrote:
Erik Hofman wrote:

Unfortunately RTLD_DEFAULT isn't supported on all platforms (it isn't
supported in IRIX anyhow). I think that if what you describe is the
problem this really is a bug at your side. What happens is that the
function pointer is copied to ftpr. So dlcose() should never be able to
have any effects on this copy ??


I think the idea here is that dlclose() is unmapping the memory region
associated with the shared library.  The pointer still has the same
value, but there are no page table entries associated with that
address any more, so an instruction fetch from that address causes a
segmentation fault.

Yes there should be, dlopen/dlclose keep a counter for the number of dlopen *and dlclose calls and only removed the library when the number of dlclose calls equals the number of dlopen calls.


Since FlightGear is linked to libGL at link time, the number of dlclose calls would always be one less than the number of dlopen calls.

Erik

_______________________________________________
Flightgear-devel mailing list
[EMAIL PROTECTED]
http://mail.flightgear.org/mailman/listinfo/flightgear-devel

Reply via email to