NAME
gnutls_global_init - This function initializes the global data to defaults.
SYNOPSIS
#include <gnutls/gnutls.h>
I int gnutls_global_init( void );
ARGUMENTS
"
DESCRIPTION
This function initializes the global data to defaults.
Every gnutls application has a global data which holds common parameters
shared by gnutls session structures.
You must call gnutls_global_deinit() when gnutls usage is no longer needed
Returns zero on success.
Note that this function will also initialize libgcrypt, if it has not
been initialized before. Thus if you want to manually initialize libgcrypt
you must do it before calling this function. This is useful in cases you
want to disable libgcrypt's internal lockings etc.
This function increment a global counter, so that
gnutls_global_deinit() only releases resources when it has been
called as many times as gnutls_global_init(). This is useful when
GnuTLS is used by more than one library in an application. This
function can be called many times, but will only do something the
first time.
Note! This function is not thread safe. If two threads call this
function simultaneously, they can cause a race between checking
the global counter and incrementing it, causing both threads to
execute the library initialization code. That would lead to a
memory leak. To handle this, your application could invoke this
function after aquiring a thread mutex. To ignore the potential
memory leak is also an option.
REPORTING BUGS
Report bugs to <bug-gnutls@gnu.org>.
COPYRIGHT
Copyright 2006 Free Software Foundation.
Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
preserved on all copies.
SEE ALSO
The full documentation for
gnutls
is maintained as a Texinfo manual. If the
info
and
gnutls
programs are properly installed at your site, the command
info gnutls
should give you access to the complete manual.