@subsection Initialization
GnuTLS must be initialized before it can be used. The library is
-initialized by calling @funcref{gnutls_global_init}. The resources
+initialized by calling @funcref{gnutls_global_init}. That call
+typically enables CPU-specific acceleration, and performs any requires
+precalculations needed by the library. The resources
allocated by the initialization process can be released if the
application no longer has a need to call GnuTLS functions, this is
done by calling @funcref{gnutls_global_deinit}.
/**
* gnutls_global_init:
*
- * This function initializes the global data to defaults.
- * In order to free resources you may call gnutls_global_deinit()
+ * 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.
*
- * 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