static void locks_setup()

in src/main/native/org/apache/commons/crypto/random/OpenSslCryptoRandomNative.c [222:235]


static void locks_setup(void)
{
  if (dlsym_OpenSSL_version_num() < VERSION_1_1_X) {
    int i;
    lock_cs = dlsym_CRYPTO_malloc(dlsym_CRYPTO_num_locks() * sizeof(pthread_mutex_t), __FILE__, __LINE__);

    for (i = 0; i < dlsym_CRYPTO_num_locks(); i++) {
      pthread_mutex_init(&(lock_cs[i]), NULL);
    }

    dlsym_CRYPTO_set_id_callback((unsigned long (*)())pthreads_thread_id);
    dlsym_CRYPTO_set_locking_callback((void (*)())pthreads_locking_callback);
  }
}