diff options
author | monty@hundin.mysql.fi <> | 2001-11-22 14:40:38 +0200 |
---|---|---|
committer | monty@hundin.mysql.fi <> | 2001-11-22 14:40:38 +0200 |
commit | 9265a4df45ea24b029ce024df7c9f34b7248a0d0 (patch) | |
tree | ed7b5ac619c61e789b26d5243f8391f68a3fa04a /innobase | |
parent | 9209210d30e5bd29f4df30f208f6e91cee3e089b (diff) | |
parent | a2a838f88769dea90a0ba5a7196057eec6ca8c11 (diff) | |
download | mariadb-git-9265a4df45ea24b029ce024df7c9f34b7248a0d0.tar.gz |
merge
Diffstat (limited to 'innobase')
-rw-r--r-- | innobase/srv/srv0srv.c | 12 |
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); + } } } } |