mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
Bug#22943 syscall pruning in libmysql
- Set the timeout values only where needed sql/mysql_priv.h: Add new functions for setting read and write timeout on "net" sql/mysqld.cc: - Move the setting of "read_timeout" to the value of "connect_timeout" to just before 'check_connection' which is the function where we want to use the different timeout - With the new functions to set timeout on "net", there is no need to specifically set the default wait_timeout on windows. sql/net_serv.cc: Add new functions for setting read and write timeout of "net, when server is compiled not to use alarms it will set the write/read timeout directly on connection using 'vio_timeout'(using setsockopt if socket) sql/repl_failsafe.cc: Put unused code within "#if NOT_USED" sql/set_var.cc: Use 'net_set_*_timeout' when adjusting timeout value on the current connection sql/slave.cc: The read timeout used when connecting to master server is set using 'mysql_options' in 'connect_to_master' function sql/sql_parse.cc: - Set read and write timeout values to "connect_timeout" during connect phase - Use "read_timeout" value during sslaccept phase, since this is during connect phase it implies "connect-timeout" - Set read and write timeout value back to default after connect phase - Set "read_timeout" to "wait_timeout" while waiting for client. sql/sql_repl.cc: Set "read_timeout" to "wait_timeout" while ask other mysqld to send file sql-common/client.c: Call 'vio_timeout' to set up the read and write timeout's for the newly created connection. It only need to be done once at connect time. vio/vio.c: Use 'vio_timeout' for setting timeout also on an SSL connection since they both use sockets vio/viossl.c: Remove 'vio_ssl_timeout' function
This commit is contained in:
@@ -1881,11 +1881,17 @@ CLI_MYSQL_REAL_CONNECT(MYSQL *mysql,const char *host, const char *user,
|
||||
goto error;
|
||||
}
|
||||
vio_keepalive(net->vio,TRUE);
|
||||
/* Override local client variables */
|
||||
|
||||
/* If user set read_timeout, let it override the default */
|
||||
if (mysql->options.read_timeout)
|
||||
net->read_timeout= mysql->options.read_timeout;
|
||||
vio_timeout(net->vio, 0, net->read_timeout);
|
||||
|
||||
/* If user set write_timeout, let it override the default */
|
||||
if (mysql->options.write_timeout)
|
||||
net->write_timeout= mysql->options.write_timeout;
|
||||
vio_timeout(net->vio, 1, net->write_timeout);
|
||||
|
||||
if (mysql->options.max_allowed_packet)
|
||||
net->max_packet_size= mysql->options.max_allowed_packet;
|
||||
|
||||
|
Reference in New Issue
Block a user