summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergei Golubchik <sergii@pisem.net>2015-01-19 17:31:59 +0100
committerSergei Golubchik <sergii@pisem.net>2015-01-19 17:31:59 +0100
commit8bc712e481a18976853fa57a7be77aab6159d431 (patch)
tree5ddf1d046b91193b1dc60dae71120745bb3496d4
parent3212aaa995b9a20d4986f563bc7ebd34d5fc1477 (diff)
downloadmariadb-git-8bc712e481a18976853fa57a7be77aab6159d431.tar.gz
MDEV-6671 mysql_server_end breaks OpenSSL
-rw-r--r--include/mysql.h1
-rw-r--r--include/mysql.h.pp1
-rw-r--r--libmysql/CMakeLists.txt2
-rw-r--r--libmysql/libmysql.c3
-rw-r--r--sql-common/client.c1
5 files changed, 7 insertions, 1 deletions
diff --git a/include/mysql.h b/include/mysql.h
index 090abf46377..d7fe5edef1e 100644
--- a/include/mysql.h
+++ b/include/mysql.h
@@ -75,6 +75,7 @@ typedef int my_socket;
#include "my_list.h" /* for LISTs used in 'MYSQL' and 'MYSQL_STMT' */
+extern unsigned int mariadb_deinitialize_ssl;
extern unsigned int mysql_port;
extern char *mysql_unix_port;
diff --git a/include/mysql.h.pp b/include/mysql.h.pp
index c45a8d72c7c..b7b1ea2d96d 100644
--- a/include/mysql.h.pp
+++ b/include/mysql.h.pp
@@ -168,6 +168,7 @@ extern LIST *list_reverse(LIST *root);
extern void list_free(LIST *root,unsigned int free_data);
extern unsigned int list_length(LIST *);
extern int list_walk(LIST *,list_walk_action action,unsigned char * argument);
+extern unsigned int mariadb_deinitialize_ssl;
extern unsigned int mysql_port;
extern char *mysql_unix_port;
typedef struct st_mysql_field {
diff --git a/libmysql/CMakeLists.txt b/libmysql/CMakeLists.txt
index fc4abb0ddd4..ca5d1ec8947 100644
--- a/libmysql/CMakeLists.txt
+++ b/libmysql/CMakeLists.txt
@@ -236,6 +236,8 @@ dynamic_column_exists
dynamic_column_list
dynamic_column_get
dynamic_column_prepare_decimal
+#
+mariadb_deinitialize_ssl
)
SET(CLIENT_API_FUNCTIONS
diff --git a/libmysql/libmysql.c b/libmysql/libmysql.c
index 7a4fc9fabd4..df18d6d60da 100644
--- a/libmysql/libmysql.c
+++ b/libmysql/libmysql.c
@@ -205,7 +205,8 @@ void STDCALL mysql_server_end()
mysql_client_plugin_deinit();
finish_client_errs();
- vio_end();
+ if (mariadb_deinitialize_ssl)
+ vio_end();
#ifdef EMBEDDED_LIBRARY
end_embedded_server();
#endif
diff --git a/sql-common/client.c b/sql-common/client.c
index 69387391e6d..193f80f5788 100644
--- a/sql-common/client.c
+++ b/sql-common/client.c
@@ -118,6 +118,7 @@ my_bool net_flush(NET *net);
#define native_password_plugin_name "mysql_native_password"
#define old_password_plugin_name "mysql_old_password"
+uint mariadb_deinitialize_ssl= 1;
uint mysql_port=0;
char *mysql_unix_port= 0;
const char *unknown_sqlstate= "HY000";