Fix the docs for ERR_remove_thread_state and ERR_remove_state
[openssl.git] / doc / crypto / ERR_remove_state.pod
index ebcdc0f5a5be35a58e469ad3d4f43fa3ba64cb28..a0d2f290f7be089080519564de580764dfc4d668 100644 (file)
@@ -2,33 +2,43 @@
 
 =head1 NAME
 
-ERR_remove_state - free a thread's error queue
+ERR_remove_thread_state, ERR_remove_state - DEPRECATED
 
 =head1 SYNOPSIS
 
- #include <openssl/err.h>
+Deprecated:
 
+ #if OPENSSL_API_COMPAT < 0x10000000L
  void ERR_remove_state(unsigned long pid);
+ #endif
+
+ #if OPENSSL_API_COMPAT < 0x10100000L
+ void ERR_remove_thread_state(void *);
+ #endif
 
 =head1 DESCRIPTION
 
-ERR_remove_state() frees the error queue associated with thread B<pid>.
-If B<pid> == 0, the current thread will have its error queue removed.
+The functions described here were used to free the error queue
+associated with the current or specificed thread.
 
-Since error queue data structures are allocated automatically for new
-threads, they must be freed when threads are terminated in oder to
-avoid memory leaks.
+They are now deprecated and do nothing, as the OpenSSL libraries now
+normally do all thread initialisation and deinitialisation
+automatically (see L<OPENSSL_init_crypto(3)>).
 
 =head1 RETURN VALUE
 
-ERR_remove_state() returns no value.
+The functions described here return no value.
 
 =head1 SEE ALSO
 
-L<err(3)|err(3)>
+L<err(3)>, L<OPENSSL_init_crypto(3)>
 
 =head1 HISTORY
 
-ERR_remove_state() is available in all versions of SSLeay and OpenSSL.
+ERR_remove_state() was deprecated in OpenSSL 1.0.0 when
+ERR_remove_thread_state() was introduced.
+
+ERR_remove_thread_state() was deprecated in OpenSSL 1.1.0 when the
+thread handling functionality was entirely rewritten.
 
 =cut