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