|
|
|
@ -51,15 +51,14 @@ ORing the values together. In normal operation you should specify |
|
|
|
|
familiar with it and trying to control some internal c-ares feature. |
|
|
|
|
.PP |
|
|
|
|
.B This function is not thread safe. |
|
|
|
|
You have to call it once the program |
|
|
|
|
has started, but this call must be done before the program starts any |
|
|
|
|
other thread. This is required to avoid potential race conditions in |
|
|
|
|
library initialization, and also due to the fact that ares_library_init() |
|
|
|
|
might call functions from other libraries that are thread unsafe, and |
|
|
|
|
could conflict with any other thread that is already using these other |
|
|
|
|
libraries. |
|
|
|
|
You have to call it once the program has started, but this call must be done |
|
|
|
|
before the program starts any other thread. This is required to avoid |
|
|
|
|
potential race conditions in library initialization, and also due to the fact |
|
|
|
|
that \fIares_library_init(3)\fP might call functions from other libraries that |
|
|
|
|
are thread unsafe, and could conflict with any other thread that is already |
|
|
|
|
using these other libraries. |
|
|
|
|
.PP |
|
|
|
|
Win32/64 application DLLs shall not call ares_library_init() from the |
|
|
|
|
Win32/64 application DLLs shall not call \fIares_library_init(3)\fP from the |
|
|
|
|
DllMain function. Doing so will produce deadlocks and other problems. |
|
|
|
|
.SH FLAGS |
|
|
|
|
.TP 5 |
|
|
|
@ -72,21 +71,21 @@ Initialize Win32/64 specific libraries. |
|
|
|
|
.B ARES_LIB_INIT_NONE |
|
|
|
|
Initialize nothing extra. This sets no bit. |
|
|
|
|
.SH RETURN VALUE |
|
|
|
|
Upon successful completion, ares_library_init() will return 0. |
|
|
|
|
Otherwise, a non-zero error number will be returned to indicate |
|
|
|
|
the error. Except for \fIares_strerror(3)\fP, you shall not call any |
|
|
|
|
other c-ares function upon ares_library_init() failure. |
|
|
|
|
.SH NOTES |
|
|
|
|
This function was first introduced in c-ares version 1.6.1 along with |
|
|
|
|
the definition of preprocessor symbol \fICARES_HAVE_ARES_LIBRARY_INIT\fP |
|
|
|
|
as an indication of the availability of this function. |
|
|
|
|
Upon successful completion, ares_library_init() will return 0. Otherwise, a |
|
|
|
|
non-zero error number will be returned to indicate the error. Except for |
|
|
|
|
\fIares_strerror(3)\fP, you shall not call any other c-ares function upon |
|
|
|
|
\fIares_library_init(3)\fP failure. |
|
|
|
|
.SH AVAILABILITY |
|
|
|
|
This function was first introduced in c-ares version 1.6.1 along with the |
|
|
|
|
definition of preprocessor symbol \fICARES_HAVE_ARES_LIBRARY_INIT\fP as an |
|
|
|
|
indication of the availability of this function. |
|
|
|
|
.PP |
|
|
|
|
Since the introduction of this function it is absolutely mandatory to |
|
|
|
|
call it for any Win32/64 program using c-ares. |
|
|
|
|
.PP |
|
|
|
|
Non-Win32/64 systems can still use c-ares version 1.6.1 without calling |
|
|
|
|
ares_library_init() due to the fact that it is nearly a do-nothing |
|
|
|
|
function on non-Win32/64 platforms. |
|
|
|
|
\fIares_library_init(3)\fP due to the fact that it is nearly a do-nothing |
|
|
|
|
function on non-Win32/64 platforms at this point. |
|
|
|
|
.SH SEE ALSO |
|
|
|
|
.BR ares_library_cleanup(3), |
|
|
|
|
.BR ares_strerror(3) |
|
|
|
|