summaryrefslogtreecommitdiff
path: root/mysys/thr_lock.c
diff options
context:
space:
mode:
authorunknown <monty@donna.mysql.com>2001-02-18 00:03:37 +0200
committerunknown <monty@donna.mysql.com>2001-02-18 00:03:37 +0200
commitf8509fecdb9a6453230e1418907a0923f002201d (patch)
treee430180603a3dd86bed056e15a90ce368911ca5a /mysys/thr_lock.c
parent456102115c2f70982e600e40e34a10afde72c703 (diff)
downloadmariadb-git-f8509fecdb9a6453230e1418907a0923f002201d.tar.gz
Added locks needed for Innobase
Fixed mutex problem when doing automatic repair of MyISAM tables Docs/manual.texi: changelog include/thr_lock.h: Added TL_READ_WITH_SHARED_LOCKS for Innobase mysql-test/r/update.result: Added 'select' to verify update results mysql-test/t/update.test: Better code coverage mysys/getvar.c: Allow space in to --set-variable mysys/thr_lock.c: Added TL_READ_WITH_SHARED_LOCKS sql/ha_myisam.cc: Added comment sql/lock.cc: Added missing broadcast sql/sql_base.cc: Fixed some mutex problem when doing automatic repair of MyISAM tables sql/sql_update.cc: Purecoverage
Diffstat (limited to 'mysys/thr_lock.c')
-rw-r--r--mysys/thr_lock.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/mysys/thr_lock.c b/mysys/thr_lock.c
index 2e20d3e24c0..2cd920245e2 100644
--- a/mysys/thr_lock.c
+++ b/mysys/thr_lock.c
@@ -27,6 +27,7 @@ Locks are prioritized according to:
The current lock types are:
TL_READ # Low priority read
+TL_READ_WITH_SHARED_LOCKS
TL_READ_HIGH_PRIORITY # High priority read
TL_READ_NO_INSERT # Read without concurrent inserts
TL_WRITE_ALLOW_WRITE # Write lock that allows other writers
@@ -667,7 +668,7 @@ void thr_unlock(THR_LOCK_DATA *data)
/* Release write-locks with TL_WRITE or TL_WRITE_ONLY priority first */
if (data &&
(data->type != TL_WRITE_LOW_PRIORITY || !lock->read_wait.data ||
- lock->read_wait.data->type == TL_READ))
+ lock->read_wait.data->type < TL_READ_HIGH_PRIORITY))
{
if (lock->write_lock_count++ > max_write_lock_count)
{