diff options
author | unknown <marko@hundin.mysql.fi> | 2004-05-13 16:18:39 +0300 |
---|---|---|
committer | unknown <marko@hundin.mysql.fi> | 2004-05-13 16:18:39 +0300 |
commit | 9e20f63aecd3582957a9f79e8b95cc03ae3f1c7a (patch) | |
tree | 7c8dd6e7000b618a4a5f8d13918e581064e6ddd0 /sql | |
parent | 6a39732037065acfedfbc840f776ba7b754ed6c3 (diff) | |
download | mariadb-git-9e20f63aecd3582957a9f79e8b95cc03ae3f1c7a.tar.gz |
ha_innodb.cc:
innobase_mysql_print_thd(): protect thd with LOCK_thread_count (Bug #3596)
sql/ha_innodb.cc:
innobase_mysql_print_thd(): protect thd with LOCK_thread_count
Diffstat (limited to 'sql')
-rw-r--r-- | sql/ha_innodb.cc | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/sql/ha_innodb.cc b/sql/ha_innodb.cc index 8651125e331..d5bbeb874ad 100644 --- a/sql/ha_innodb.cc +++ b/sql/ha_innodb.cc @@ -328,6 +328,8 @@ innobase_mysql_print_thd( thd = (const THD*) input_thd; + VOID(pthread_mutex_lock(&LOCK_thread_count)); + fprintf(f, "MySQL thread id %lu, query id %lu", thd->thread_id, thd->query_id); if (thd->host) { @@ -351,11 +353,16 @@ innobase_mysql_print_thd( } if ((s = thd->query)) { - putc(' ', f); - fputs(s, f); + /* determine the length of the query string */ + uint32 i, len = thd->query_length; + for (i = 0; i < len && s[i]; i++); + putc('\n', f); + fwrite(s, 1, i, f); } putc('\n', f); + + VOID(pthread_mutex_unlock(&LOCK_thread_count)); } /************************************************************************* |