From 21e001747d4a246827ad432fc508d67ac404ecdb Mon Sep 17 00:00:00 2001 From: Richard Levitte Date: Sun, 8 May 2016 17:01:09 +0200 Subject: Restore the ERR_remove_thread_state() API and make it a no-op The ERR_remove_thread_state() API is restored to take a pointer argument, but does nothing more. ERR_remove_state() is also made into a no-op. Both functions are deprecated and users are recommended to use OPENSSL_thread_stop() instead. Documentation is changed to reflect this. Reviewed-by: Matt Caswell --- doc/crypto/ERR_remove_state.pod | 34 ++++++++++++++++------------------ doc/crypto/err.pod | 9 ++++----- 2 files changed, 20 insertions(+), 23 deletions(-) (limited to 'doc') diff --git a/doc/crypto/ERR_remove_state.pod b/doc/crypto/ERR_remove_state.pod index b011182..944365d 100644 --- a/doc/crypto/ERR_remove_state.pod +++ b/doc/crypto/ERR_remove_state.pod @@ -2,44 +2,42 @@ =head1 NAME -ERR_remove_thread_state, ERR_remove_state - free a thread's error queue +ERR_remove_thread_state, ERR_remove_state - DEPRECATED =head1 SYNOPSIS - #include - - void ERR_remove_thread_state(void); - Deprecated: #if OPENSSL_API_COMPAT < 0x10000000L void ERR_remove_state(unsigned long pid); #endif -=head1 DESCRIPTION + #if OPENSSL_API_COMPAT < 0x10100000L + void ERR_remove_thread_state(void *); + #endif -ERR_remove_thread_state() frees the error queue associated with the current -thread. +=head1 DESCRIPTION -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. +The functions described here were used to free the error queue +associated with the current or specificed thread. -ERR_remove_state is deprecated and has been replaced by -ERR_remove_thread_state. Any argument to this function is ignored and -calling ERR_remove_state is equivalent to B. +They are now deprecated and do nothing, please use +OPENSSL_thread_stop() instead. =head1 RETURN VALUE -ERR_remove_thread_state and ERR_remove_state() return no value. +The functions described here return no value. =head1 SEE ALSO -L +L, L =head1 HISTORY -ERR_remove_state() -was deprecated in OpenSSL 1.0.0 when ERR_remove_thread_state() was introduced. +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 diff --git a/doc/crypto/err.pod b/doc/crypto/err.pod index 33cb19d..a590cd7 100644 --- a/doc/crypto/err.pod +++ b/doc/crypto/err.pod @@ -22,7 +22,6 @@ err - error codes int ERR_GET_REASON(unsigned long e); void ERR_clear_error(void); - void ERR_remove_thread_state(void); char *ERR_error_string(unsigned long e, char *buf); const char *ERR_lib_error_string(unsigned long e); @@ -49,6 +48,10 @@ Deprecated: #endif #if OPENSSL_API_COMPAT < 0x10100000L + void ERR_remove_thread_state(void *); + #endif + + #if OPENSSL_API_COMPAT < 0x10100000L void ERR_free_strings(void) #endif @@ -71,9 +74,6 @@ messages is described in L. L can be used to clear the error queue. -Note that L should be used to -avoid memory leaks when threads are terminated. - =head1 ADDING NEW ERROR CODES TO OPENSSL See L if you want to record error codes in the @@ -186,7 +186,6 @@ L, L, L, L, -L, L, L, L -- cgit v1.1