NAME
dlerror — get
diagnostic information
SYNOPSIS
char *dlerror(void);
DESCRIPTION
The dlerror () function shall return a
null-terminated character string (with no trailing <newline>) that
describes the last error that occurred during dynamic linking processing. If
no dynamic linking errors have occurred since the last invocation of
dlerror (), dlerror () shall
return NULL. Thus, invoking dlerror () a second
time, immediately following a prior invocation, shall result in NULL being
returned.
The dlerror () function need not be
reentrant. A function that is not required to be reentrant is not required
to be thread-safe.
RETURN VALUE
If successful, dlerror () shall return a
null-terminated character string; otherwise, NULL shall be returned.
ERRORS
No errors are defined.
EXAMPLES
The following example prints out the last dynamic linking error:
...
#include <dlfcn.h>
char *errstr;
errstr = dlerror();
if (errstr != NULL)
printf ("A dynamic linking error occurred: (%s)\n", errstr);
...
APPLICATION USAGE
The messages returned by dlerror () may
reside in a static buffer that is overwritten on each call to
dlerror (). Application code should not write to
this buffer. Programs wishing to preserve an error message should make their
own copies of that message. Depending on the application environment with
respect to asynchronous execution events, such as signals or other
asynchronous computation sharing the address space, conforming applications
should use a critical section to retrieve the error pointer and buffer.
RATIONALE
None.
FUTURE DIRECTIONS
None.
SEE ALSO
dlclose(3) , dlopen(3) , dlsym(3) , the Base Definitions volume of IEEE Std 1003.1-2001 (“POSIX.1”), <dlfcn.h>
CHANGE HISTORY
First released in Issue 5.
Issue 6
In the DESCRIPTION the note about reentrancy and thread-safety is added.
End of informative text. footer end