dlopen.3: Clarify that constructors are called only when library is first loaded

And fix a wording error that I introduced back in 2015.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
This commit is contained in:
Michael Kerrisk 2019-07-02 15:01:20 +02:00
parent cbd8927ff5
commit df77f62baf
1 changed files with 3 additions and 2 deletions

View File

@ -212,7 +212,7 @@ If the executable was linked with the flag "\-rdynamic"
then the global symbols in the executable will also be used
to resolve references in a dynamically loaded shared object.
.PP
If the same shared object is loaded again with
If the same shared object is opened again with
.BR dlopen (),
the same object handle is returned.
The dynamic linker maintains reference
@ -222,7 +222,8 @@ deallocated until
has been called on it as many times as
.BR dlopen ()
has succeeded on it.
Any initialization returns (see below) are called just once.
Constructors (see below) are called only when the library is actually loaded
into memory (i.e., when the reference count increases to 1).
However, a subsequent
.BR dlopen ()
call that loads the same shared object with