aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Kerrisk <mtk.manpages@gmail.com>2015-07-16 17:02:35 +0200
committerMichael Kerrisk <mtk.manpages@gmail.com>2015-08-08 17:35:44 +0200
commit747b2b0a98a6496fc8d7150a01883003f5da6c4d (patch)
tree2e123df176059a6c85c54330db222a7943c6e7f2
parent9ebcbe137748fc06765289c20b2cce7b0a0c6d9d (diff)
downloadman-pages-747b2b0a98a6496fc8d7150a01883003f5da6c4d.tar.gz
dlopen.3: dlclose() will unload the object when all references have been released
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
-rw-r--r--man3/dlopen.312
1 files changed, 12 insertions, 0 deletions
diff --git a/man3/dlopen.3 b/man3/dlopen.3
index c5d359a3ff..b4c9d53592 100644
--- a/man3/dlopen.3
+++ b/man3/dlopen.3
@@ -286,6 +286,18 @@ All shared objects that were automatically loaded when
was invoked on the object referred to by
.I handle
are recursively closed in the same manner.
+
+A successful return from
+.BR dlclose ()
+does not guarantee that the symbols associated with
+.I handle
+are removed from the caller's address space.
+In addition to references resulting from explicit
+.BR dlopen ()
+calls, a shared object may have been implicitly loaded
+(and reference counted) because of dependencies in other shared objects.
+Only when all references have been released can the shared object
+be removed from the address space.
.SH RETURN VALUE
On success,
.BR dlopen ()