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:
unknown 2007-01-29 14:31:48 +01:00
commit a195ad5ea2
11 changed files with 73 additions and 44 deletions

View file

@ -2625,7 +2625,6 @@ static int init_slave_thread(THD* thd, SLAVE_THD_TYPE thd_type)
*/
thd->variables.max_allowed_packet= global_system_variables.max_allowed_packet
+ MAX_LOG_EVENT_HEADER; /* note, incr over the global not session var */
thd->net.read_timeout = slave_net_timeout;
thd->master_access= ~(ulong)0;
thd->priv_user = 0;
thd->slave_thread = 1;