summaryrefslogtreecommitdiff
path: root/innobase
diff options
context:
space:
mode:
authorunknown <heikki@hundin.mysql.fi>2002-10-03 23:07:32 +0300
committerunknown <heikki@hundin.mysql.fi>2002-10-03 23:07:32 +0300
commited175a5ebd45f6005eff4ee59426d99b733a4008 (patch)
tree2f4b571285d86f762d6d66ba1b7490db3f3fd3d1 /innobase
parentb05f22d9972e49dc911dd3b84042bcca9af7aaae (diff)
downloadmariadb-git-ed175a5ebd45f6005eff4ee59426d99b733a4008.tar.gz
lock0lock.c:
Fix bug: if SHOW INNODB STATUS or innodb_monitor printed several hundred transactions, the output was truncated and we forgot to release the kernel mutex innobase/lock/lock0lock.c: Fix bug: if SHOW INNODB STATUS or innodb_monitor printed several hundred transactions, the output was truncated and we forgot to release the kernel mutex
Diffstat (limited to 'innobase')
-rw-r--r--innobase/lock/lock0lock.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/innobase/lock/lock0lock.c b/innobase/lock/lock0lock.c
index 5fe8dc62f5a..c180ecb50ce 100644
--- a/innobase/lock/lock0lock.c
+++ b/innobase/lock/lock0lock.c
@@ -3599,6 +3599,8 @@ lock_print_info(
mtr_t mtr;
if (buf_end - buf < 600) {
+ sprintf(buf, "... output truncated!\n");
+
return;
}
@@ -3623,6 +3625,9 @@ lock_print_info(
if ((ulint)(buf_end - buf)
< 100 + strlen(lock_latest_err_buf)) {
+ lock_mutex_exit_kernel();
+ sprintf(buf, "... output truncated!\n");
+
return;
}
@@ -3630,6 +3635,9 @@ lock_print_info(
}
if (buf_end - buf < 600) {
+ lock_mutex_exit_kernel();
+ sprintf(buf, "... output truncated!\n");
+
return;
}
@@ -3641,6 +3649,9 @@ lock_print_info(
while (trx) {
if (buf_end - buf < 900) {
+ lock_mutex_exit_kernel();
+ sprintf(buf, "... output truncated!\n");
+
return;
}
@@ -3678,6 +3689,9 @@ loop:
}
if (buf_end - buf < 900) {
+ lock_mutex_exit_kernel();
+ sprintf(buf, "... output truncated!\n");
+
return;
}
@@ -3688,6 +3702,9 @@ loop:
buf += strlen(buf);
if (buf_end - buf < 500) {
+ lock_mutex_exit_kernel();
+ sprintf(buf, "... output truncated!\n");
+
return;
}
@@ -3742,6 +3759,9 @@ loop:
}
if (buf_end - buf < 500) {
+ lock_mutex_exit_kernel();
+ sprintf(buf, "... output truncated!\n");
+
return;
}