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:
@ -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
|
||||
|
||||
|
@ -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 */
|
||||
@ -1592,8 +1593,8 @@ pthread_handler_decl(handle_shutdown,arg)
|
||||
abort_loop = 1;
|
||||
|
||||
// unblock select()
|
||||
so_cancel( ip_sock);
|
||||
so_cancel( unix_sock);
|
||||
so_cancel(ip_sock);
|
||||
so_cancel(unix_sock);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -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)
|
||||
{
|
||||
|
Reference in New Issue
Block a user