dlopen a vicenasobne zavedeni .so
Karel Zak
zakkr na zf.jcu.cz
Středa Září 5 13:22:40 CEST 2001
On Wed, Sep 05, 2001 at 12:24:38PM +0200, Radek Cervinka wrote:
> Dobry den,
> narazil jsem na problem s pouzitim dlopen.
> Chtel jsem opakovane zavest nejakou .so (pokazde si to melo precist
> novou konfiguraci a ulozit do globalnich promennych v knihovne - ty se
> exportovat
> nemaji). Jake bylo me prekvapeni, ze mi dlopen pokazde vrati stejny handle.
> Nasledne totiz ziskavam adresu rutiny v .so podle handlu, ktera muze ty
> globalni
> data modifikovat, tj. kdyz to zavedu po druhe tak mi to prepise ty prvni.
>
> Je to dokumentovane chovani, nebo to delam spatne?
Asi mate jiny manual nez ja :-)
If the same
library is loaded twice with dlopen(), the same file han
dle is returned. The dl library maintains link counts for
dynamic file handles, so a dynamic library is not deallo
cated until dlclose has been called on it as many times as
dlopen has succeeded on it.
Pokud se podivate do zdrojaku glibc tak to tak opravdu je :-)
--
Karel Zak <zakkr na zf.jcu.cz>
http://home.zf.jcu.cz/~zakkr/
C, PostgreSQL, PHP, WWW, http://docs.linux.cz, http://mape.jcu.cz
Další informace o konferenci Linux