mirror of
https://github.com/MariaDB/server.git
synced 2026-01-06 05:22:24 +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:
@@ -89,8 +89,8 @@ static int send_file(THD *thd)
|
||||
The client might be slow loading the data, give him wait_timeout to do
|
||||
the job
|
||||
*/
|
||||
old_timeout = thd->net.read_timeout;
|
||||
thd->net.read_timeout = thd->variables.net_wait_timeout;
|
||||
old_timeout= net->read_timeout;
|
||||
net_set_read_timeout(net, thd->variables.net_wait_timeout);
|
||||
|
||||
/*
|
||||
We need net_flush here because the client will not know it needs to send
|
||||
@@ -134,7 +134,7 @@ static int send_file(THD *thd)
|
||||
error = 0;
|
||||
|
||||
err:
|
||||
thd->net.read_timeout = old_timeout;
|
||||
net_set_read_timeout(net, old_timeout);
|
||||
if (fd >= 0)
|
||||
(void) my_close(fd, MYF(0));
|
||||
if (errmsg)
|
||||
|
||||
Reference in New Issue
Block a user