=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 specified thread.
-Since error queue data structures are allocated automatically for new
-threads, they must be freed when threads are terminated in order 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.
+
+=head1 COPYRIGHT
+
+Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.
+
+Licensed under the OpenSSL license (the "License"). You may not use
+this file except in compliance with the License. You can obtain a copy
+in the file LICENSE in the source distribution or at
+L<https://www.openssl.org/source/license.html>.
=cut