Commit ba05aef9 authored by unknown's avatar unknown
Browse files

Fixed crash if max_connections is exceeded. BUG#8996


sql/mysqld.cc:
  mark the thread as killed in close_connection
sql/protocol.cc:
  don't bother remembering warnings if the thread is dying
parent 9019ea07
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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)
+3 −2
Original line number Diff line number Diff line
@@ -122,6 +122,7 @@ 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*/
  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