mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 20:12:31 +01:00
945f3c2cc8
- The "mysql client in mysqld"(which is used by replication and federated) should use alarms instead of setting socket timeout value if the rest of the server uses alarm. By always calling 'my_net_set_write_timeout' or 'my_net_set_read_timeout' when changing the timeout value(s), the selection whether to use alarms or timeouts will be handled by ifdef's in those two functions. - Move declaration of 'vio_timeout' into "vio_priv.h" include/mysql_com.h: Move the net_set_*_timeout function declarations to mysql_com.h and rename to my_net_set_*_timeout to avoid name clashes include/violite.h: Move declaration of 'vio_timeout' to vio_priv.h (to make the function as private as possible) libmysql/libmysql.c: Use my_net_read_timeout or my_net_write_timeout when setting the timeouts. Move the global variables for my_net_read/my_write_timeout into the only place where they are used. Thus removing them... server-tools/instance-manager/mysql_connection.cc: Use my_net_read_timeout or my_net_write_timeout when setting the timeouts sql-common/client.c: Use my_net_read_timeout or my_net_write_timeout when setting the timeouts sql/mysql_priv.h: Move the net_set_*_timeout function declarations to mysql_com.h sql/net_serv.cc: No need to cast the net->write_timeout value from "uint" to "uint" sql/set_var.cc: Rename net_set_*_timeout to my_net_set_*_timeout sql/sql_client.cc: Use my_net_read_timeout or my_net_write_timeout when setting the timeouts sql/sql_parse.cc: Rename net_set_*_timeout to my_net_set_*_timeout sql/sql_repl.cc: Rename net_set_*_timeout to my_net_set_*_timeout vio/vio_priv.h: Move declaration of 'vio_timeout' to vio_priv.h vio/viosocket.c: Cleanup 'vio_timeout' - Use "const void*" on POSIX and "const char*" on windows for setsockopt - Add DBUG_PRINT's - Add comment about why we don't have an implementation of vio_timeout for platforms not supporting SO_SNDTIMEO or SO_RCVTIMEO
41 lines
1.4 KiB
C++
41 lines
1.4 KiB
C++
/* Copyright (C) 2003 MySQL AB
|
|
|
|
This program is free software; you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation; version 2 of the License.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program; if not, write to the Free Software
|
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
|
|
|
|
/*
|
|
This files defines some MySQL C API functions that are server specific
|
|
*/
|
|
|
|
#include "mysql_priv.h"
|
|
|
|
/*
|
|
Function called by my_net_init() to set some check variables
|
|
*/
|
|
|
|
extern "C" {
|
|
void my_net_local_init(NET *net)
|
|
{
|
|
#ifndef EMBEDDED_LIBRARY
|
|
net->max_packet= (uint) global_system_variables.net_buffer_length;
|
|
|
|
my_net_set_read_timeout(net, (uint)global_system_variables.net_read_timeout);
|
|
my_net_set_write_timeout(net,
|
|
(uint)global_system_variables.net_write_timeout);
|
|
|
|
net->retry_count= (uint) global_system_variables.net_retry_count;
|
|
net->max_packet_size= max(global_system_variables.net_buffer_length,
|
|
global_system_variables.max_allowed_packet);
|
|
#endif
|
|
}
|
|
}
|