gnutls_global_init(3) gnutls gnutls_global_init(3)
NAME
gnutls_global_init - API function
SYNOPSIS
#include <gnutls/gnutls.h>
int gnutls_global_init( void);
ARGUMENTS
void
DESCRIPTION
This function initializes the global data to defaults. In order to free resources you may call gnutls_global_deinit() when gnutls usage is
no longer needed.
Note that this function will also initialize the underlying crypto backend, if it has not been initialized before.
This function increments 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.
RETURNS
On success, GNUTLS_E_SUCCESS (0) is returned, otherwise a negative error code is returned.
REPORTING BUGS
Report bugs to <bug-gnutls@gnu.org>.
General guidelines for reporting bugs: http://www.gnu.org/gethelp/
GnuTLS home page: http://www.gnu.org/software/gnutls/
COPYRIGHT
Copyright (C) 2012 Free Software Foundation, Inc..
Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.
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. As an alternative you may obtain the manual from:
http://www.gnu.org/software/gnutls/manual/
gnutls 3.1.15 gnutls_global_init(3)