- NAME
- SYNOPSIS
- DESCRIPTION
- RETURN VALUE
- SEE ALSO
- HISTORY

# NAME

ERR_remove_thread_state, ERR_remove_state - free a thread's error queue

# SYNOPSIS

     #include <openssl/err.h>

     void ERR_remove_thread_state(const CRYPTO_THREADID *tid);

Deprecated:

     void ERR_remove_state(unsigned long pid);

# DESCRIPTION

`ERR_remove_thread_state()` frees the error queue associated with thread tid. If tid == NULL, the current thread will have its error queue removed.

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.

ERR_remove_state is deprecated and has been replaced by ERR_remove_thread_state. Since threads in OpenSSL are no longer identified by unsigned long values any argument to this function is ignored. Calling ERR_remove_state is equivalent to ERR_remove_thread_state(NULL).

# RETURN VALUE

ERR_remove_thread_state and `ERR_remove_state()` return no value.

# SEE ALSO

err

# HISTORY

`ERR_remove_state()` is available in all versions of SSLeay and OpenSSL. It was deprecated in OpenSSL 1.0.0 when ERR_remove_thread_state was introduced and thread IDs were introduced to identify threads instead of 'unsigned long'.