My initial thoughts are:

1. add an escape character of some kind to insert a literal ':'
2. please make all pathnames use a consistent syntax
3. don't implement any special work arounds unless you know there are
   users of the feature
4. dlopen("foo:bar", RTLD_LAZY | RTLD_FULLPATH)
   This is really gross!  I always thought I was just passing
   a library, not a list!  Is this true for all rtld
   functions that take a library name?

So I see two different kinds of strings we are dealing with:

1. a colon-separated list of directories (can be a list of one)
2. a colon-separated list of libraries (can be a list of one)

Is that true?

$ISALIST could be implemented by using direct iteration right?
It doesn't actually have to expand to a colon-separated
list of libraries, does it?  Does anyone use that feature otherwise?
Can we pretend it was a bug, and remove that feature?  ;-)

--chris





Rod Evans wrote:
Presently, no.  But it seems like a mechanism to allow ':' within
a path is now desirable.

I've a couple of thoughts.   First, if you wish to allow ':' within
a dlopen() path, would you also want to allow this character in
a RUNPATH, LD_LIBRARY_PATH, or some other ld.so.1 processed path?
We could invent an escape character that can be embedded in a path.
This provides generic flexibility, but in the case of dlopen()
might require the user to translate a string (read from some config
file?) to include the escape character.

Or, we could allow dlopen() path processing to differ/be-more-flexible
than other path processing.  We could force a dlopen() string to be
used as-is.  This changes todays behavior, and would break the example
I had cited below.  But, would anyone care?   Or we could be explicit
in regards our new requirement:

    dlopen("foo:bar", RTLD_LAZY | RTLD_FULLPATH)

and use a new token to define a path should be used as is.

Thoughts?



_______________________________________________
opensolaris-discuss mailing list
opensolaris-discuss@opensolaris.org

Reply via email to