mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 13:02:28 +01:00
983770aa6a
As documented in the bug report, the double checked locking pattern has inherent issues, and cannot guarantee correct initialization. This patch replaces the logic in init_available_charsets() with the use of pthread_once(3). A wrapper function, my_pthread_once(), is introduced and is used in lieu of direct calls to init_available_charsets(). Related defines MY_PTHREAD_ONCE_* are also introduced. For the Windows platform, the implementation in lp:sysbench is ported. For single-thread use, a simple define calls the function and sets the pthread_once control variable. Charset initialization is modified to use my_pthread_once(). |
||
---|---|---|
.. | ||
.cvsignore | ||
acinclude.m4 | ||
client_settings.h | ||
CMakeLists.txt | ||
conf_to_src.c | ||
dll.c | ||
errmsg.c | ||
get_password.c | ||
libmysql.c | ||
libmysql.def | ||
libmysql.ver.in | ||
Makefile.am | ||
Makefile.shared | ||
manager.c |