Commit 0762b00d authored by monty@hundin.mysql.fi's avatar monty@hundin.mysql.fi
Browse files

Backported fix from 4.0 which caused core dumps for some complex queries.

parent f4da1be1
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -31150,7 +31150,7 @@ mysql> select TRUNCATE(1.999,1);
        -> 1.9
mysql> select TRUNCATE(1.999,0);
        -> 1
mysql> select TRUNCATE(-1,999,1);
mysql> select TRUNCATE(-1.999,1);
        -> -1.9
@end example
+4 −3
Original line number Diff line number Diff line
@@ -1121,7 +1121,8 @@ void end_thread(THD *thd, bool put_in_cache)
inline void kill_broken_server()
{
  /* hack to get around signals ignored in syscalls for problem OS's */
  if (unix_sock == INVALID_SOCKET || (!opt_disable_networking && ip_sock ==INVALID_SOCKET))
  if (unix_sock == INVALID_SOCKET ||
      (!opt_disable_networking && ip_sock == INVALID_SOCKET))
  {
    select_thread_in_use = 0;
    kill_server((void*)MYSQL_KILL_SIGNAL); /* never returns */
+2 −1
Original line number Diff line number Diff line
@@ -1285,7 +1285,8 @@ and_all_keys(SEL_ARG *key1,SEL_ARG *key2,uint clone_flag)
  }
  if (key1->type == SEL_ARG::MAYBE_KEY)
  {
    key1->left= &null_element; key1->next=0;
    key1->right= key1->left= &null_element;
    key1->next= key1->prev= 0;
  }
  for (next=key1->first(); next ; next=next->next)
  {