Exercising Application Code
An audit library receives information as objects are added to a process. At
the time the audit library receives such information, the object being monitored
might not be ready to execute. For example, an auditor can receive an
la_objopen
() call for a loaded object. However, the
object must load its own dependencies and be relocated before any code within
the object can be exercised. An audit library might want to inspect the loaded
object by obtaining a handle using
dlopen
(3C). This handle can then be used to search for
interfaces using
dlsym
(3C). However, interfaces obtained in this manner should
not be called unless it is known that the initialization of the destination
object has completed.