summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/crypto_lock.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/lib/libcrypto/crypto_lock.c96
1 files changed, 0 insertions, 96 deletions
diff --git a/src/lib/libcrypto/crypto_lock.c b/src/lib/libcrypto/crypto_lock.c
deleted file mode 100644
index 59c3933c7d..0000000000
--- a/src/lib/libcrypto/crypto_lock.c
+++ /dev/null
@@ -1,96 +0,0 @@
1/* $OpenBSD: crypto_lock.c,v 1.6 2023/07/08 08:28:23 beck Exp $ */
2/*
3 * Copyright (c) 2018 Brent Cook <bcook@openbsd.org>
4 *
5 * Permission to use, copy, modify, and distribute this software for any
6 * purpose with or without fee is hereby granted, provided that the above
7 * copyright notice and this permission notice appear in all copies.
8 *
9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 */
17
18#include <pthread.h>
19
20#include <openssl/crypto.h>
21
22#include "crypto_internal.h"
23
24static pthread_mutex_t locks[] = {
25 PTHREAD_MUTEX_INITIALIZER,
26 PTHREAD_MUTEX_INITIALIZER,
27 PTHREAD_MUTEX_INITIALIZER,
28 PTHREAD_MUTEX_INITIALIZER,
29 PTHREAD_MUTEX_INITIALIZER,
30 PTHREAD_MUTEX_INITIALIZER,
31 PTHREAD_MUTEX_INITIALIZER,
32 PTHREAD_MUTEX_INITIALIZER,
33 PTHREAD_MUTEX_INITIALIZER,
34 PTHREAD_MUTEX_INITIALIZER,
35 PTHREAD_MUTEX_INITIALIZER,
36 PTHREAD_MUTEX_INITIALIZER,
37 PTHREAD_MUTEX_INITIALIZER,
38 PTHREAD_MUTEX_INITIALIZER,
39 PTHREAD_MUTEX_INITIALIZER,
40 PTHREAD_MUTEX_INITIALIZER,
41 PTHREAD_MUTEX_INITIALIZER,
42 PTHREAD_MUTEX_INITIALIZER,
43 PTHREAD_MUTEX_INITIALIZER,
44 PTHREAD_MUTEX_INITIALIZER,
45 PTHREAD_MUTEX_INITIALIZER,
46 PTHREAD_MUTEX_INITIALIZER,
47 PTHREAD_MUTEX_INITIALIZER,
48 PTHREAD_MUTEX_INITIALIZER,
49 PTHREAD_MUTEX_INITIALIZER,
50 PTHREAD_MUTEX_INITIALIZER,
51 PTHREAD_MUTEX_INITIALIZER,
52 PTHREAD_MUTEX_INITIALIZER,
53 PTHREAD_MUTEX_INITIALIZER,
54 PTHREAD_MUTEX_INITIALIZER,
55 PTHREAD_MUTEX_INITIALIZER,
56 PTHREAD_MUTEX_INITIALIZER,
57 PTHREAD_MUTEX_INITIALIZER,
58 PTHREAD_MUTEX_INITIALIZER,
59 PTHREAD_MUTEX_INITIALIZER,
60 PTHREAD_MUTEX_INITIALIZER,
61 PTHREAD_MUTEX_INITIALIZER,
62 PTHREAD_MUTEX_INITIALIZER,
63 PTHREAD_MUTEX_INITIALIZER,
64 PTHREAD_MUTEX_INITIALIZER,
65 PTHREAD_MUTEX_INITIALIZER,
66};
67
68CTASSERT((sizeof(locks) / sizeof(*locks)) == CRYPTO_NUM_LOCKS);
69
70void
71CRYPTO_lock(int mode, int type, const char *file, int line)
72{
73 if (type < 0 || type >= CRYPTO_NUM_LOCKS)
74 return;
75
76 if (mode & CRYPTO_LOCK)
77 (void) pthread_mutex_lock(&locks[type]);
78 else if (mode & CRYPTO_UNLOCK)
79 (void) pthread_mutex_unlock(&locks[type]);
80}
81LCRYPTO_ALIAS(CRYPTO_lock);
82
83int
84CRYPTO_add_lock(int *pointer, int amount, int type, const char *file,
85 int line)
86{
87 int ret;
88
89 CRYPTO_lock(CRYPTO_LOCK|CRYPTO_WRITE, type, file, line);
90 ret = *pointer + amount;
91 *pointer = ret;
92 CRYPTO_lock(CRYPTO_UNLOCK|CRYPTO_WRITE, type, file, line);
93
94 return (ret);
95}
96LCRYPTO_ALIAS(CRYPTO_add_lock);