summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Antonuk <alan.antonuk@gmail.com>2018-01-10 22:02:14 -0800
committerAlan Antonuk <alan.antonuk@gmail.com>2018-01-10 22:02:14 -0800
commit009bc4df22065d44e894d69c42aead4881ab6ca4 (patch)
tree7feaa293baceead5f9e3ef6e7a9b692b6da347d1
parent0da8d1fd403794058a0184abd3eaffd46156f62f (diff)
downloadrabbitmq-c-009bc4df22065d44e894d69c42aead4881ab6ca4.tar.gz
Lib: initialize amqp_openssl_bio on first use
-rw-r--r--librabbitmq/amqp_openssl.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/librabbitmq/amqp_openssl.c b/librabbitmq/amqp_openssl.c
index 2a43e81..7902272 100644
--- a/librabbitmq/amqp_openssl.c
+++ b/librabbitmq/amqp_openssl.c
@@ -57,6 +57,7 @@ static pthread_mutex_t *amqp_openssl_lockarray = NULL;
static pthread_mutex_t openssl_init_mutex = PTHREAD_MUTEX_INITIALIZER;
static amqp_boolean_t do_initialize_openssl = 1;
static amqp_boolean_t openssl_initialized = 0;
+static amqp_boolean_t openssl_bio_initialized = 0;
static int openssl_connections = 0;
#define CHECK_SUCCESS(condition) \
@@ -621,6 +622,11 @@ static int initialize_ssl_and_increment_connections() {
openssl_initialized = 1;
}
+ if (!openssl_bio_initialized) {
+ amqp_openssl_bio_init();
+ openssl_bio_initialized = 1;
+ }
+
openssl_connections += 1;
status = AMQP_STATUS_OK;
exit: