Chris Quenelle wrote:
 >
> 2. please make all pathnames use a consistent syntax
 >
> 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?

I'll have to admit, I don't see what's so gross.  ":" has been
a rather universal pathname separator within Unix for some time.
What other rtld functions are you thinking of?

> 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?

I guess that's a distinction you could make.  Both strings allow
the use of the various $ tokens ($PLATFORM, $ORIGIN, etc.).
Therefore consistent use of ":" seemed to be appropriate (to me at
least).

> $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?

The implementation could do anything.  I drew a parallel between
what effectively occurs when $ISALIST/foo.so is processed and
how the same processing could be done by hand to show what
I thought was a consistent model.  Satisfies your rule #2 :-)

Note, one issue with our known tokens, is that they are what
*we* have so far thought to be interesting.  What if a customer
wanted $FOOBAR/xxx.so, where $FOOBAR was a directory lookup that
was meaningful to their product?   We've no way offering
$FOOBAR, but they could package their dlopen() call into a series
of strings just as they could with ISALIST.

> Does anyone use that feature otherwise?

Oh come on Chris, how do we ever know what people have started
to use (until we take it away or make some incompatible change).

> Can we pretend it was a bug, and remove that feature?  ;-)

That is one option.


-- 
Rod

Reply via email to