diff options
author | unknown <monty@narttu.mysql.fi> | 2003-08-17 14:10:15 +0300 |
---|---|---|
committer | unknown <monty@narttu.mysql.fi> | 2003-08-17 14:10:15 +0300 |
commit | 0eaf4d8d7e879b32d5e1e0c7ecb409bc4d4cb060 (patch) | |
tree | 87feb8f1e2709918215eaa5b5031a4a243ba4531 /sql/handler.cc | |
parent | 9ac61d15faf874589bd01ae9fa8d1854f6dc6621 (diff) | |
download | mariadb-git-0eaf4d8d7e879b32d5e1e0c7ecb409bc4d4cb060.tar.gz |
Fix mutex handling in SHOW_VARIABLES (key_buffer_size was not properly protected)
Changed some non fatal myisamchk error messages to warnings
myisam/myisamchk.c:
Change error -> warning
sql/handler.cc:
Add mutex around keybuff_size usage
sql/mysql_priv.h:
Indentation update
sql/set_var.cc:
Add mutex around longlong variable usage
sql/sql_parse.cc:
Fix mutex handling in SHOW_VARIABLES
sql/sql_show.cc:
Fix mutex handling in SHOW_VARIABLES
Diffstat (limited to 'sql/handler.cc')
-rw-r--r-- | sql/handler.cc | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/sql/handler.cc b/sql/handler.cc index 505f64dff43..96611301bfa 100644 --- a/sql/handler.cc +++ b/sql/handler.cc @@ -1020,14 +1020,25 @@ int ha_create_table(const char *name, HA_CREATE_INFO *create_info, void ha_key_cache(void) { - if (keybuff_size) - (void) init_key_cache((ulong) keybuff_size); + /* + The following mutex is not really needed as long as keybuff_size is + treated as a long value, but we use the mutex here to guard for future + changes. + */ + pthread_mutex_lock(&LOCK_global_system_variables); + long tmp= keybuff_size; + pthread_mutex_unlock(&LOCK_global_system_variables); + if (tmp) + (void) init_key_cache(tmp); } void ha_resize_key_cache(void) { - (void) resize_key_cache((ulong) keybuff_size); + pthread_mutex_lock(&LOCK_global_system_variables); + long tmp= keybuff_size; + pthread_mutex_unlock(&LOCK_global_system_variables); + (void) resize_key_cache(tmp); } |