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 performs any required precalculations, detects the supported CPU capabilities and initializes the underlying cryptographic backend. In order to free any resources taken by this call you should gnutls_global_deinit() when gnutls usage is no longer needed. 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 could lead to a memory leak or even a crash. To handle this, your application should invoke this function after aquiring a thread mutex.

RETURNS
On success, GNUTLS_E_SUCCESS (0) is returned, otherwise a negative error code is returned.

REPORTING BUGS
Report bugs to <bugs@gnutls.org>.
Home page: http://www.gnutls.org

COPYRIGHT
Copyright © 2001-2014 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 /usr/share/doc/gnutls/ directory does not contain the HTML form visit

http://www.gnutls.org/manual/