minor edits

This commit is contained in:
Daniel Stenberg 2009-05-23 20:23:44 +00:00
parent 26028068e8
commit 8fc17ed764
2 changed files with 32 additions and 34 deletions

View File

@ -36,33 +36,32 @@ was initialized.
.PP .PP
This function must be called when the program using c-ares will This function must be called when the program using c-ares will
no longer need any c-ares function. Once the program has called no longer need any c-ares function. Once the program has called
ares_library_cleanup() it shall not make any further call to any \fIares_library_cleanup(3)\fP it shall not make any further call to any
c-ares function. c-ares function.
.PP .PP
This function does not cancel any pending c-ares lookups or requests This function does not cancel any pending c-ares lookups or requests
previously done. Program must use \fIares_cancel(3)\fP for this purpose. previously done. Program must use \fIares_cancel(3)\fP for this purpose.
.PP .PP
.B This function is not thread safe. .B This function is not thread safe.
You have to call it once the program You have to call it once the program is about to terminate, but this call must
is about to terminate, but this call must be done once the program has be done once the program has terminated every single thread that it could have
terminated every single thread that it could have initiated. This is initiated. This is required to avoid potential race conditions in library
required to avoid potential race conditions in library deinitialization, deinitialization, and also due to the fact that \fIares_library_cleanup(3)\fP
and also due to the fact that ares_library_cleanup() might call functions might call functions from other libraries that are thread unsafe, and could
from other libraries that are thread unsafe, and could conflict with any conflict with any other thread that is already using these other libraries.
other thread that is already using these other libraries.
.PP .PP
Win32/64 application DLLs shall not call ares_library_cleanup() from the Win32/64 application DLLs shall not call \fIares_library_cleanup(3)\fP from
DllMain function. Doing so will produce deadlocks and other problems. the DllMain function. Doing so will produce deadlocks and other problems.
.SH NOTES .SH NOTES
This function was first introduced in c-ares version 1.6.1 along with This function was first introduced in c-ares version 1.6.1 along with the
the definition of preprocessor symbol \fICARES_HAVE_ARES_LIBRARY_CLEANUP\fP definition of preprocessor symbol \fICARES_HAVE_ARES_LIBRARY_CLEANUP\fP as an
as an indication of the availability of this function. indication of the availability of this function.
.PP .PP
Since the introduction of this function, it is absolutely mandatory to Since the introduction of this function, it is absolutely mandatory to call it
call it for any Win32/64 program using c-ares. for any Win32/64 program using c-ares.
.PP .PP
Non-Win32/64 systems can still use c-ares version 1.6.1 without calling Non-Win32/64 systems can still use c-ares version 1.6.1 without calling
ares_library_cleanup() due to the fact that it is nearly a do-nothing \fIares_library_cleanup(3)\fP due to the fact that it is nearly a do-nothing
function on non-Win32/64 platforms. function on non-Win32/64 platforms.
.SH SEE ALSO .SH SEE ALSO
.BR ares_library_init(3), .BR ares_library_init(3),

View File

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