diff options
author | Alexander Barkov <bar@mnogosearch.org> | 2013-10-16 17:58:15 +0400 |
---|---|---|
committer | Alexander Barkov <bar@mnogosearch.org> | 2013-10-16 17:58:15 +0400 |
commit | 2b60ad363743cd9515cd3dddbaed7cad28c49e65 (patch) | |
tree | 551e7e381fea88d74b68be8e72b75a7e32a8ea78 | |
parent | 7ba78277b4d76649501e85f05be2780e00ffc9c3 (diff) | |
parent | de4ca539b896abfb2888ce7dee6f7de39d2e9657 (diff) | |
download | mariadb-git-2b60ad363743cd9515cd3dddbaed7cad28c49e65.tar.gz |
Merge 5.1->5.2
-rw-r--r-- | mysql-test/valgrind.supp | 12 | ||||
-rw-r--r-- | sql/mysqld.cc | 4 | ||||
-rw-r--r-- | sql/slave.cc | 2 | ||||
-rw-r--r-- | vio/vio.c | 6 |
4 files changed, 24 insertions, 0 deletions
diff --git a/mysql-test/valgrind.supp b/mysql-test/valgrind.supp index 30d77fa3e72..3d51e945d35 100644 --- a/mysql-test/valgrind.supp +++ b/mysql-test/valgrind.supp @@ -1061,6 +1061,18 @@ } { + OpenSSL still reachable. + Memcheck:Leak + fun:*alloc + fun:CRYPTO_malloc + fun:sk_new + obj:*libssl* + fun:SSL_COMP_get_compression_methods + fun:SSL_library_init +} + + +{ Problem with udf and libresolve Memcheck:Cond obj:*/libresolv*.so diff --git a/sql/mysqld.cc b/sql/mysqld.cc index 885f2e72190..a6623e9b239 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -2134,6 +2134,9 @@ bool one_thread_per_connection_end(THD *thd, bool put_in_cache) /* It's safe to broadcast outside a lock (COND... is not deleted here) */ DBUG_PRINT("signal", ("Broadcasting COND_thread_count")); DBUG_LEAVE; // Must match DBUG_ENTER() +#ifndef EMBEDDED_LIBRARY + ERR_remove_state(0); +#endif my_thread_end(); (void) pthread_cond_broadcast(&COND_thread_count); @@ -3794,6 +3797,7 @@ static void init_ssl() opt_ssl_ca, opt_ssl_capath, opt_ssl_cipher, &error); DBUG_PRINT("info",("ssl_acceptor_fd: 0x%lx", (long) ssl_acceptor_fd)); + ERR_remove_state(0); if (!ssl_acceptor_fd) { sql_print_warning("Failed to setup SSL"); diff --git a/sql/slave.cc b/sql/slave.cc index 3c7cf166b20..7d397b96e6f 100644 --- a/sql/slave.cc +++ b/sql/slave.cc @@ -2855,6 +2855,7 @@ err: DBUG_LEAVE; // Must match DBUG_ENTER() my_thread_end(); + ERR_remove_state(0); pthread_exit(0); return 0; // Avoid compiler warnings } @@ -3251,6 +3252,7 @@ the slave SQL thread with \"SLAVE START\". We stopped at log \ DBUG_LEAVE; // Must match DBUG_ENTER() my_thread_end(); + ERR_remove_state(0); pthread_exit(0); return 0; // Avoid compiler warnings } diff --git a/vio/vio.c b/vio/vio.c index 486fe63da05..7b2cf45142f 100644 --- a/vio/vio.c +++ b/vio/vio.c @@ -250,5 +250,11 @@ void vio_end(void) { #ifdef HAVE_YASSL yaSSL_CleanUp(); +#elif defined(HAVE_OPENSSL) + // This one is needed on the client side + ERR_remove_state(0); + ERR_free_strings(); + EVP_cleanup(); + CRYPTO_cleanup_all_ex_data(); #endif } |