From def228b3b0cc4f5fe8ad405a2fc4b20ffb7cedb3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Canna=C3=B2?= Date: Thu, 13 Aug 2015 11:44:00 +0000 Subject: [PATCH] Bugfix: fixing an edge case introduced by previous bugfix --- lib/MySQL_Thread.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/MySQL_Thread.cpp b/lib/MySQL_Thread.cpp index 8350ddc10..c70e91454 100644 --- a/lib/MySQL_Thread.cpp +++ b/lib/MySQL_Thread.cpp @@ -1166,7 +1166,12 @@ void MySQL_Thread::run() { sess->status=PINGING_SERVER; myds->DSS=STATE_MARIADB_PING; register_session_connection_handler(sess,true); - sess->handler(); + int rc=sess->handler(); + if (rc==-1) { + unsigned int sess_idx=mysql_sessions->len-1; + unregister_session(sess_idx); + delete sess; + } // myds->myconn->async_ping(0); // myds->myconn->async_state_machine=ASYNC_PING_START; // myds->myconn->handler(0);