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);