diff options
author | unknown <heikki@hundin.mysql.fi> | 2002-10-03 23:07:32 +0300 |
---|---|---|
committer | unknown <heikki@hundin.mysql.fi> | 2002-10-03 23:07:32 +0300 |
commit | ed175a5ebd45f6005eff4ee59426d99b733a4008 (patch) | |
tree | 2f4b571285d86f762d6d66ba1b7490db3f3fd3d1 /innobase | |
parent | b05f22d9972e49dc911dd3b84042bcca9af7aaae (diff) | |
download | mariadb-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.c | 20 |
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; } |