summaryrefslogtreecommitdiff
path: root/innobase
diff options
context:
space:
mode:
authormonty@hundin.mysql.fi <>2001-11-22 14:40:38 +0200
committermonty@hundin.mysql.fi <>2001-11-22 14:40:38 +0200
commit9265a4df45ea24b029ce024df7c9f34b7248a0d0 (patch)
treeed7b5ac619c61e789b26d5243f8391f68a3fa04a /innobase
parent9209210d30e5bd29f4df30f208f6e91cee3e089b (diff)
parenta2a838f88769dea90a0ba5a7196057eec6ca8c11 (diff)
downloadmariadb-git-9265a4df45ea24b029ce024df7c9f34b7248a0d0.tar.gz
merge
Diffstat (limited to 'innobase')
-rw-r--r--innobase/srv/srv0srv.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/innobase/srv/srv0srv.c b/innobase/srv/srv0srv.c
index 7f90c295b41..424bb8a7086 100644
--- a/innobase/srv/srv0srv.c
+++ b/innobase/srv/srv0srv.c
@@ -2153,10 +2153,14 @@ loop:
/* Timeout exceeded or a wrap-around in system
time counter: cancel the lock request queued
by the transaction and release possible
- other transactions waiting behind */
-
- lock_cancel_waiting_and_release(
- thr_get_trx(slot->thr)->wait_lock);
+ other transactions waiting behind; it is
+ possible that the lock has already been
+ granted: in that case do nothing */
+
+ if (thr_get_trx(slot->thr)->wait_lock) {
+ lock_cancel_waiting_and_release(
+ thr_get_trx(slot->thr)->wait_lock);
+ }
}
}
}