diff options
author | Staale Smedseng <staale.smedseng@sun.com> | 2010-02-26 15:30:14 +0100 |
---|---|---|
committer | Staale Smedseng <staale.smedseng@sun.com> | 2010-02-26 15:30:14 +0100 |
commit | 600a28368916ae07c0694ae090dcba7f2c52b12a (patch) | |
tree | b32a770ac7c9db71ae25b1590e774c3fe0f3a43f /libmysql | |
parent | ca6691533a7e2a454bbb614583a0058bf7acd2d2 (diff) | |
download | mariadb-git-600a28368916ae07c0694ae090dcba7f2c52b12a.tar.gz |
Bug #45058 init_available_charsets uses double checked locking
A client doing multiple mysql_library_init() and
mysql_library_end() calls over the lifetime of the process may
experience lost character set data, potentially even a
SIGSEGV.
This patch reinstates the reloading of character set data when
a mysql_library_init() is done after a mysql_library_end().
Diffstat (limited to 'libmysql')
-rw-r--r-- | libmysql/libmysql.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/libmysql/libmysql.c b/libmysql/libmysql.c index f626361536f..6ea777a0702 100644 --- a/libmysql/libmysql.c +++ b/libmysql/libmysql.c @@ -211,6 +211,7 @@ void STDCALL mysql_server_end() } else { + free_charsets(); mysql_thread_end(); } |