File tree Expand file tree Collapse file tree 1 file changed +8
-3
lines changed Expand file tree Collapse file tree 1 file changed +8
-3
lines changed Original file line number Diff line number Diff line change @@ -535,16 +535,21 @@ _mongoc_ssl_thread_startup (void)
535
535
mongoc_mutex_init (& gMongocSslThreadLocks [i ]);
536
536
}
537
537
538
- CRYPTO_set_locking_callback (_mongoc_ssl_thread_locking_callback );
539
- CRYPTO_set_id_callback (_mongoc_ssl_thread_id_callback );
538
+ if (!CRYPTO_get_locking_callback ()) {
539
+ CRYPTO_set_locking_callback (_mongoc_ssl_thread_locking_callback );
540
+ CRYPTO_set_id_callback (_mongoc_ssl_thread_id_callback );
541
+ }
540
542
}
541
543
542
544
static void
543
545
_mongoc_ssl_thread_cleanup (void )
544
546
{
545
547
int i ;
546
548
547
- CRYPTO_set_locking_callback (NULL );
549
+ if (CRYPTO_get_locking_callback () == _mongoc_ssl_thread_locking_callback ) {
550
+ CRYPTO_set_locking_callback (NULL );
551
+ CRYPTO_set_id_callback (NULL );
552
+ }
548
553
549
554
for (i = 0 ; i < CRYPTO_num_locks (); i ++ ) {
550
555
mongoc_mutex_destroy (& gMongocSslThreadLocks [i ]);
You can’t perform that action at this time.
0 commit comments