Sortix 1.1dev ports manual
This manual documents Sortix 1.1dev ports. You can instead view this document in the latest official manual.
CRYPTO_LOCK(3) | Library Functions Manual | CRYPTO_LOCK(3) |
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 supportSYNOPSIS
#include <openssl/crypto.h> voidCRYPTO_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, eitherCRYPTO_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
crypto(3)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.March 10, 2019 | Debian |