NAME
CRYPTO_THREADID_current,
CRYPTO_THREADID_cmp,
CRYPTO_THREADID_cpy,
CRYPTO_THREADID_hash,
CRYPTO_lock, CRYPTO_w_lock,
CRYPTO_w_unlock,
CRYPTO_r_lock,
CRYPTO_r_unlock, CRYPTO_add
— thread support
SYNOPSIS
#include
<openssl/crypto.h>
void
CRYPTO_THREADID_current(CRYPTO_THREADID
*id);
int
CRYPTO_THREADID_cmp(const
CRYPTO_THREADID *a, const CRYPTO_THREADID
*b);
void
CRYPTO_THREADID_cpy(CRYPTO_THREADID
*dest, const CRYPTO_THREADID *src);
unsigned long
CRYPTO_THREADID_hash(const
CRYPTO_THREADID *id);
void
CRYPTO_lock(int mode,
int type, const char *file,
int line);
int
CRYPTO_add(int *p,
int amount, int type);
#define CRYPTO_w_lock(type) \ CRYPTO_lock(CRYPTO_LOCK|CRYPTO_WRITE, type, __FILE__, __LINE__) #define CRYPTO_w_unlock(type) \ CRYPTO_lock(CRYPTO_UNLOCK|CRYPTO_WRITE, type, __FILE__, __LINE__) #define CRYPTO_r_lock(type) \ CRYPTO_lock(CRYPTO_LOCK|CRYPTO_READ, type, __FILE__, __LINE__) #define CRYPTO_r_unlock(type) \ CRYPTO_lock(CRYPTO_UNLOCK|CRYPTO_READ, type, __FILE__, __LINE__)
DESCRIPTION
These functions are obsolete.
CRYPTO_THREADID_current()
stores a unique identifier of the currently executing thread into the opaque
object id.
CRYPTO_THREADID_cpy()
copies the contents of src to
dest.
CRYPTO_lock()
locks or unlocks a mutex lock.
mode is a bitfield describing what should be
done with the lock. For each call, either
CRYPTO_LOCK or CRYPTO_UNLOCK
must be included. In the LibreSSL implementation,
CRYPTO_READ and CRYPTO_WRITE
are ignored.
type is a number in the range 0 <=
type <
CRYPTO_NUM_LOCKS identifying a particular lock.
Currently, the value of CRYPTO_NUM_LOCKS is 41.
The file and line arguments are ignored.
In the LibreSSL implementation,
CRYPTO_lock()
is a wrapper around
pthread_mutex_lock(3) and
pthread_mutex_unlock(3).
CRYPTO_add()
locks the lock number type, adds
amount to *p, and unlocks the
lock number type again.
RETURN VALUES
CRYPTO_THREADID_cmp() returns 0 if
a and b refer to the same thread
or a non-zero value otherwise.
CRYPTO_THREADID_hash() returns a numeric
value usable as a hash-table key. In the LibreSSL implementation, it is the
value returned from
pthread_self(3) for the thread id.
CRYPTO_add() returns the new value of
*p.
SEE ALSO
HISTORY
CRYPTO_lock(),
CRYPTO_w_lock(),
CRYPTO_w_unlock(),
CRYPTO_r_lock(), and
CRYPTO_r_unlock() first appeared in SSLeay 0.6.0.
CRYPTO_add() first appeared in SSLeay 0.6.2. These
functions have been available since OpenBSD 2.4.
CRYPTO_THREADID_current(),
CRYPTO_THREADID_cmp(),
CRYPTO_THREADID_cpy(), and
CRYPTO_THREADID_hash() first appeared in OpenSSL
1.0.0 and have been available since OpenBSD 4.9.