summaryrefslogtreecommitdiff
path: root/myisam
diff options
context:
space:
mode:
authorunknown <monty@hundin.mysql.fi>2001-11-29 21:46:51 +0200
committerunknown <monty@hundin.mysql.fi>2001-11-29 21:46:51 +0200
commitc2689648cfe60d280c5a3da350f57527745deab3 (patch)
treeca1de5e435dc38ba3f7f3b2ae2fb610b292baef0 /myisam
parentc90f67fb06430e16e3c37d1420591ac7419a40c4 (diff)
downloadmariadb-git-c2689648cfe60d280c5a3da350f57527745deab3.tar.gz
Fix not critical MyISAM bug in locking.
Free character sets properly (for embedded). Add missing mutex in HANDLER CLOSE Build-tools/Do-compile: Update for gcc 3.0 Docs/manual.texi: Update for gcc 3.0 myisam/mi_locking.c: Fix not critical bug in locking myisam/myisamdef.h: Fix not critical bug in locking mysys/my_init.c: Free character sets properly mysys/my_seek.c: Remove warning sql-bench/server-cfg.sh: Fix benchmarks to run with MySQL sql/sql_handler.cc: Add missing mutex sql/sql_update.cc: Clean up procinfo
Diffstat (limited to 'myisam')
-rw-r--r--myisam/mi_locking.c7
-rw-r--r--myisam/myisamdef.h2
2 files changed, 4 insertions, 5 deletions
diff --git a/myisam/mi_locking.c b/myisam/mi_locking.c
index b8ffc300fa9..68ef52ea819 100644
--- a/myisam/mi_locking.c
+++ b/myisam/mi_locking.c
@@ -305,10 +305,9 @@ int _mi_readinfo(register MI_INFO *info, int lock_type, int check_keybuffer)
MYISAM_SHARE *share=info->s;
if (!share->tot_locks)
{
- if ((info->tmp_lock_type=lock_type) != F_RDLCK)
- if (my_lock(share->kfile,lock_type,0L,F_TO_EOF,
- info->lock_wait | MY_SEEK_NOT_DONE))
- DBUG_RETURN(1);
+ if (my_lock(share->kfile,lock_type,0L,F_TO_EOF,
+ info->lock_wait | MY_SEEK_NOT_DONE))
+ DBUG_RETURN(1);
if (mi_state_info_read_dsk(share->kfile, &share->state, 1))
{
int error=my_errno ? my_errno : -1;
diff --git a/myisam/myisamdef.h b/myisam/myisamdef.h
index 0f48216ccbf..e8b9c1b83ec 100644
--- a/myisam/myisamdef.h
+++ b/myisam/myisamdef.h
@@ -589,7 +589,7 @@ enum myisam_log_commands {
#define myisam_log_record(a,b,c,d,e) if (myisam_log_file >= 0) _myisam_log_record(a,b,c,d,e)
#define fast_mi_writeinfo(INFO) if (!(INFO)->s->tot_locks) (void) _mi_writeinfo((INFO),0)
-#define fast_mi_readinfo(INFO) (!(INFO)->lock_type == F_UNLCK) && _mi_readinfo((INFO),F_RDLCK,1)
+#define fast_mi_readinfo(INFO) ((INFO)->lock_type == F_UNLCK) && _mi_readinfo((INFO),F_RDLCK,1)
#ifdef __cplusplus
extern "C" {