diff options
author | bodo <bodo> | 2002-09-23 14:24:44 +0000 |
---|---|---|
committer | bodo <bodo> | 2002-09-23 14:24:44 +0000 |
commit | 715a618afbe6ccb23b3bb701b8d24d94dffbfdf9 (patch) | |
tree | 42325ceda1aefa79e65dc219b96b6ba43e1dd209 /ssl/t1_srvr.c | |
parent | 3e10a91e84a6a9d5f397f43ff5e96224f8d845d8 (diff) | |
download | openssl-715a618afbe6ccb23b3bb701b8d24d94dffbfdf9.tar.gz |
really fix race condition
PR: 262
Diffstat (limited to 'ssl/t1_srvr.c')
-rw-r--r-- | ssl/t1_srvr.c | 4 |
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); } |