mirror of
https://github.com/moparisthebest/curl
synced 2024-11-17 23:15:08 -05:00
76 lines
2.8 KiB
Groff
76 lines
2.8 KiB
Groff
.\" $Id$
|
|
.\"
|
|
.\" Copyright 1998 by the Massachusetts Institute of Technology.
|
|
.\" Copyright (C) 2004-2009 by Daniel Stenberg
|
|
.\"
|
|
.\" Permission to use, copy, modify, and distribute this
|
|
.\" software and its documentation for any purpose and without
|
|
.\" fee is hereby granted, provided that the above copyright
|
|
.\" notice appear in all copies and that both that copyright
|
|
.\" notice and this permission notice appear in supporting
|
|
.\" documentation, and that the name of M.I.T. not be used in
|
|
.\" advertising or publicity pertaining to distribution of the
|
|
.\" software without specific, written prior permission.
|
|
.\" M.I.T. makes no representations about the suitability of
|
|
.\" this software for any purpose. It is provided "as is"
|
|
.\" without express or implied warranty.
|
|
.\"
|
|
.TH ARES_LIBRARY_CLEANUP 3 "19 May 2009"
|
|
.SH NAME
|
|
ares_library_cleanup \- c-ares library deinitialization
|
|
.SH SYNOPSIS
|
|
.nf
|
|
.B #include <ares.h>
|
|
.PP
|
|
.B void ares_library_cleanup(void)
|
|
.PP
|
|
.B cc file.c -lcares
|
|
.fi
|
|
.SH DESCRIPTION
|
|
.PP
|
|
The
|
|
.B ares_library_cleanup
|
|
function uninitializes the c-ares library, freeing all resources
|
|
previously aquired by \fIares_library_init(3)\fP when the library
|
|
was initialized.
|
|
.PP
|
|
This function must be called when the program using c-ares will
|
|
no longer need any c-ares function. Once the program has called
|
|
ares_library_cleanup() it shall not make any further call to any
|
|
c-ares function.
|
|
.PP
|
|
This function does not cancel any pending c-ares lookups or requests
|
|
previously done. Program must use \fIares_cancel(3)\fP for this purpose.
|
|
.PP
|
|
.B This function is not thread safe.
|
|
You have to call it once the program
|
|
is about to terminate, but this call must be done once the program has
|
|
terminated every single thread that it could have initiated. This is
|
|
required to avoid potential race conditions in library deinitialization,
|
|
and also due to the fact that ares_library_cleanup() 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_cleanup() from the
|
|
DllMain function. Doing so will produce deadlocks and other problems.
|
|
.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_CLEANUP\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_cleanup() due to the fact that it is nearly a do-nothing
|
|
function on non-Win32/64 platforms.
|
|
.SH SEE ALSO
|
|
.BR ares_library_init(3),
|
|
.BR ares_cancel(3)
|
|
.SH AUTHOR
|
|
Yang Tse
|
|
.PP
|
|
Copyright 1998 by the Massachusetts Institute of Technology.
|
|
.br
|
|
Copyright (C) 2004-2009 by Daniel Stenberg.
|