summaryrefslogtreecommitdiff
path: root/ssl/t1_srvr.c
diff options
context:
space:
mode:
authorbodo <bodo>2002-09-23 14:24:44 +0000
committerbodo <bodo>2002-09-23 14:24:44 +0000
commit715a618afbe6ccb23b3bb701b8d24d94dffbfdf9 (patch)
tree42325ceda1aefa79e65dc219b96b6ba43e1dd209 /ssl/t1_srvr.c
parent3e10a91e84a6a9d5f397f43ff5e96224f8d845d8 (diff)
downloadopenssl-715a618afbe6ccb23b3bb701b8d24d94dffbfdf9.tar.gz
really fix race condition
PR: 262
Diffstat (limited to 'ssl/t1_srvr.c')
-rw-r--r--ssl/t1_srvr.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/ssl/t1_srvr.c b/ssl/t1_srvr.c
index 6e765e587..c72e5525a 100644
--- a/ssl/t1_srvr.c
+++ b/ssl/t1_srvr.c
@@ -80,11 +80,15 @@ SSL_METHOD *TLSv1_server_method(void)
if (init)
{
+ CRYPTO_w_lock(CRYPTO_LOCK_SSL_METHOD);
+
memcpy((char *)&TLSv1_server_data,(char *)tlsv1_base_method(),
sizeof(SSL_METHOD));
TLSv1_server_data.ssl_accept=ssl3_accept;
TLSv1_server_data.get_ssl_method=tls1_get_server_method;
init=0;
+
+ CRYPTO_w_unlock(CRYPTO_LOCK_SSL_METHOD);
}
return(&TLSv1_server_data);
}