mariadb/netware
Staale Smedseng 983770aa6a Bug #45058 init_available_charsets uses double checked locking
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().
2009-12-12 19:11:25 +01:00
..
BUILD
comp_err.def
install_test_db.ncf
libmysql.def
libmysqlmain.c
Makefile.am
my_manage.c
my_manage.h
my_print_defaults.def
myisam_ftdump.def
myisamchk.def
myisamlog.def
myisampack.def
mysql.def
mysql.xdc
mysql_client_test.def
mysql_fix_privilege_tables.pl
mysql_install_db.c
mysql_install_db.def
mysql_secure_installation.pl
mysql_test_run.c
mysql_test_run.def
mysql_upgrade.def
mysql_waitpid.def
mysqladmin.def
mysqlbinlog.def
mysqlcheck.def
mysqld.def
mysqld_safe.c
mysqld_safe.def
mysqldump.def
mysqlimport.def
mysqlshow.def
mysqlslap.def
mysqltest.def
perror.def
replace.def
resolve_stack_dump.def
resolveip.def
static_init_db.sql