Moved SSL spinlock initialization to be done after thread initialization.
This commit is contained in:
@ -1475,18 +1475,6 @@ int main(int argc, char **argv)
|
||||
SSL_load_error_strings();
|
||||
OPENSSL_add_all_algorithms_noconf();
|
||||
|
||||
int numlocks = CRYPTO_num_locks();
|
||||
if((ssl_locks = malloc(sizeof(SPINLOCK)*(numlocks + 1))) == NULL)
|
||||
{
|
||||
char* logerr = "Memory allocation failed";
|
||||
print_log_n_stderr(true, true, logerr, logerr, eno);
|
||||
rc = MAXSCALE_INTERNALERROR;
|
||||
goto return_main;
|
||||
}
|
||||
|
||||
for(i = 0;i<numlocks + 1;i++)
|
||||
spinlock_init(&ssl_locks[i]);
|
||||
|
||||
/* register exit function for embedded MySQL library */
|
||||
l = atexit(libmysqld_done);
|
||||
|
||||
@ -1819,7 +1807,17 @@ int main(int argc, char **argv)
|
||||
LOGIF(LM, (skygw_log_write(LOGFILE_MESSAGE,
|
||||
"MaxScale started with %d server threads.",
|
||||
config_threadcount())));
|
||||
int numlocks = CRYPTO_num_locks();
|
||||
if((ssl_locks = malloc(sizeof(SPINLOCK)*(numlocks + 1))) == NULL)
|
||||
{
|
||||
char* logerr = "Memory allocation failed";
|
||||
print_log_n_stderr(true, true, logerr, logerr, eno);
|
||||
rc = MAXSCALE_INTERNALERROR;
|
||||
goto return_main;
|
||||
}
|
||||
|
||||
for(i = 0;i<numlocks + 1;i++)
|
||||
spinlock_init(&ssl_locks[i]);
|
||||
CRYPTO_set_locking_callback(ssl_locking_function);
|
||||
CRYPTO_set_dynlock_create_callback(ssl_create_dynlock);
|
||||
CRYPTO_set_dynlock_destroy_callback(ssl_free_dynlock);
|
||||
|
||||
Reference in New Issue
Block a user