[Patches] [ python-Patches-412229 ] runtime RTLD_NOW control via sys

noreply@sourceforge.net noreply@sourceforge.net
Tue, 05 Jun 2001 23:39:59 -0700


Patches item #412229, was updated on 2001-03-29 08:55
You can respond by visiting: 
http://sourceforge.net/tracker/?func=detail&atid=305470&aid=412229&group_id=5470

Category: core (C code)
Group: None
Status: Open
Resolution: None
Priority: 5
Submitted By: Bram Stolk (bram)
Assigned to: Nobody/Anonymous (nobody)
Summary: runtime RTLD_NOW control via sys

Initial Comment:
This patch enables runtime control over the RTLD_NOW
flag, which can be used to do lazy symbol resolving
when loading a shared lib.

It's an extention to the sys module:
sys.setlazysymresolve(0|1)

The patch is against the latest CVS code, and
was generated by 'cvs diff'.

----------------------------------------------------------------------

>Comment By: Martin v. Löwis (loewis)
Date: 2001-06-05 23:39

Message:
Logged In: YES 
user_id=21627

The patch needs further work: The code currently compiles 
on systems which don't define RTLD_NOW (although I'm not 
sure what these systems are); your code doesn't.

Also, the code allows to set the flags, but has no 
interface to query them.

Finally, users often complain that Python should use 
RTLD_GLOBAL, so that they can share symbols across 
extension modules. Therefore, I propose that you allow 
setting arbitrary dlopen flags; users would have to write

sys.setdlopenflags(0)

to turn off RTLD_NOW, and use

sys.setdlopenflags(dl.RTLD_NOW|dl.RTLD_GLOBAL)

to add RTLD_GLOBAL.

When you revise this patch, please submit unified (-u) or 
context (-c) diffs.


----------------------------------------------------------------------

Comment By: Guido van Rossum (gvanrossum)
Date: 2001-04-10 14:48

Message:
Logged In: YES 
user_id=6380

Sorry, no new features in 2.1.

I'll look at this after 2.1 is released though.

----------------------------------------------------------------------

You can respond by visiting: 
http://sourceforge.net/tracker/?func=detail&atid=305470&aid=412229&group_id=5470