@node Initialization
@subsection Initialization
-GnuTLS must be initialized before it can be used. The library is
-initialized on load; prior to 3.3.0 was initialized by calling @funcref{gnutls_global_init}.
+The GnuTLS library is initialized on load; prior to 3.3.0 was initialized by calling @funcref{gnutls_global_init}.
The initialization typically enables CPU-specific acceleration, performs any required
precalculations needed, opens any required system devices (e.g., /dev/urandom on Linux)
and initializes subsystems that could be used later.
The resources allocated by the initialization process will be released
on library deinitialization, or explictly by calling @funcref{gnutls_global_deinit}.
+Note that during initialization file descriptors may be kept open by
+GnuTLS (e.g. /dev/urandom). The helper function @funcref{gnutls_fd_in_use}
+is given to assist applications closing all unknown file descriptors
+on initialization.
+
@c In order to take advantage of the internationalization features in
@c GnuTLS, such as translated error messages, the application must set
@c the current locale using @code{setlocale} before initializing GnuTLS.