1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

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

This commit is contained in:
monty@hundin.mysql.fi
2002-06-17 15:00:06 +03:00
parent f4da1be1e1
commit 0762b00d86
3 changed files with 7 additions and 5 deletions

View File

@ -31150,7 +31150,7 @@ mysql> select TRUNCATE(1.999,1);
-> 1.9 -> 1.9
mysql> select TRUNCATE(1.999,0); mysql> select TRUNCATE(1.999,0);
-> 1 -> 1
mysql> select TRUNCATE(-1,999,1); mysql> select TRUNCATE(-1.999,1);
-> -1.9 -> -1.9
@end example @end example

View File

@ -1121,7 +1121,8 @@ void end_thread(THD *thd, bool put_in_cache)
inline void kill_broken_server() inline void kill_broken_server()
{ {
/* hack to get around signals ignored in syscalls for problem OS's */ /* 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; select_thread_in_use = 0;
kill_server((void*)MYSQL_KILL_SIGNAL); /* never returns */ kill_server((void*)MYSQL_KILL_SIGNAL); /* never returns */
@ -1592,8 +1593,8 @@ pthread_handler_decl(handle_shutdown,arg)
abort_loop = 1; abort_loop = 1;
// unblock select() // unblock select()
so_cancel( ip_sock); so_cancel(ip_sock);
so_cancel( unix_sock); so_cancel(unix_sock);
return 0; return 0;
} }

View File

@ -1285,7 +1285,8 @@ and_all_keys(SEL_ARG *key1,SEL_ARG *key2,uint clone_flag)
} }
if (key1->type == SEL_ARG::MAYBE_KEY) 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) for (next=key1->first(); next ; next=next->next)
{ {