summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <reggie@linux.site>2005-07-14 06:04:29 -0600
committerunknown <reggie@linux.site>2005-07-14 06:04:29 -0600
commit473de348a9c30a20c54ddd461b7927f5bbd4e2d8 (patch)
tree3eb9502b0dd5851319d93f0c7bd6c6ddb78cc7d1
parent207284e81463dae06822c92f500ffa7beaf67208 (diff)
downloadmariadb-git-473de348a9c30a20c54ddd461b7927f5bbd4e2d8.tar.gz
Bug #7403 error "Forcing close of thread 1 user: 'xxx'"
The problem was that on Windows, the socket was in a blocking state trying to read. Setting killed=1 is not enough to break the socket out of it's read loop. You have to cancel the read request or close the socket (which close_connection does). sql/mysqld.cc: call close_connection on the thread instead of setting killed=1
-rw-r--r--sql/mysqld.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/sql/mysqld.cc b/sql/mysqld.cc
index a757c47366d..1434775cff3 100644
--- a/sql/mysqld.cc
+++ b/sql/mysqld.cc
@@ -657,7 +657,7 @@ static void close_connections(void)
{
DBUG_PRINT("quit",("Informing thread %ld that it's time to die",
tmp->thread_id));
- tmp->killed=1;
+ close_connection(tmp, 0, 1);
if (tmp->mysys_var)
{
tmp->mysys_var->abort=1;