dlclose(3X) dlclose(3X)
NAME
dlclose - Gemeinsam nutzbares Objekt schließen
SYNTAX
cc [flag ...] file ... -ldl [library ...]
#include <dlfcn.h>
int dlclose(void *handle);
BESCHREIBUNG
dlclose() löst die Verbindung eines gemeinsam nutzbaren Objekts, das
zuvor durch dlopen() geöffnet wurde. Nachdem ein Objekt durch
dlclose() geschlossen wurde, stehen dessen Symbole für dlsym() nicht
weiter zur Verfügung. Alle Objekte, die aufgrund des Aufrufs von dlo-
pen() mit dem fraglichen Objekt automatisch geladen wurden [siehe
dlopen(3X)], werden ebenfalls geschlossen. handle ist der Wert, der
von einem früheren Aufruf von dlopen() zurückgegeben wurde.
ERGEBNIS
Wenn das bezeichnete Objekt erfolgreich geschlossen werden konnte,
liefert dlclose() das Ergebnis 0. Konnte das Objekt nicht geschlossen
werden, oder bezeichnet handle kein geöffnetes Objekt, so liefert
dlclose() einen Wert ungleich null als Ergebnis zurück. Genauere
Informationen über die Fehlerursache stehen über dlerror() zur Verfü-
gung.
HINWEISE
Ein erfolgreicher Aufruf von dlclose() garantiert nicht, daß das zu
handle gehörende Objekt auch tatsächlich vom Adreßraum des Prozesses
entfernt wird. Objekte, die durch einen Aufruf von dlopen() geladen
wurden, können außerdem auch durch einen anderen Aufruf von dlopen()
geladen worden sein. Außerdem kann dasselbe Objekt auch mehrfach gela-
den worden sein. Ein Objekt wird nicht aus dem Adreßraum entfernt,
bevor nicht alle Referenzen, die durch ein explizites dlopen() erzeugt
worden sind, wieder geschlossen wurden, und alle anderen Objekte, die
dieses Objekt implizit referenzieren, ebenfalls geschlossen wurden.
Nach dem Schließen eines Objekts durch dlclose() führt die Verwendung
von Symbolen in diesem Objekt zu einem undefinierten Verhalten.
SIEHE AUCH
dlerror(3X), dlopen(3X), dlsym(3X).
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98