NAME
dlerror — get
diagnostic information
SYNOPSIS
#include
<dlfcn.h>
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
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)
XBD <dlfcn.h>
CHANGE HISTORY
First released in Issue 5.
Issue 6
A note indicating that this function need not be reentrant is added to the DESCRIPTION.
Issue 7
Austin Group Interpretation 1003.1-2001 #156 is applied.
The dlerror () function is moved from the
XSI option to the Base.