diff --git a/sql/mysqld.cc b/sql/mysqld.cc index fb9a1d70512..6fadc96bb20 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -1432,6 +1432,7 @@ void close_connection(THD *thd, uint errcode, bool lock) errcode ? ER(errcode) : "")); if (lock) (void) pthread_mutex_lock(&LOCK_thread_count); + thd->killed=1; if ((vio=thd->net.vio) != 0) { if (errcode) diff --git a/sql/protocol.cc b/sql/protocol.cc index 4cecd016553..6bec4dbe47f 100644 --- a/sql/protocol.cc +++ b/sql/protocol.cc @@ -122,8 +122,9 @@ void send_error(THD *thd, uint sql_errno, const char *err) } VOID(net_write_command(net,(uchar) 255, "", 0, (char*) err,length)); #endif /* EMBEDDED_LIBRARY*/ - push_warning(thd, MYSQL_ERROR::WARN_LEVEL_ERROR, sql_errno, - orig_err ? orig_err : ER(sql_errno)); + if (!thd->killed) + push_warning(thd, MYSQL_ERROR::WARN_LEVEL_ERROR, sql_errno, + orig_err ? orig_err : ER(sql_errno)); thd->is_fatal_error=0; // Error message is given thd->net.report_error= 0;