summaryrefslogtreecommitdiff
path: root/vio
diff options
context:
space:
mode:
authorunknown <msvensson@pilot.mysql.com>2007-01-29 14:31:48 +0100
committerunknown <msvensson@pilot.mysql.com>2007-01-29 14:31:48 +0100
commita195ad5ea26227dac0d5f503b9e37717b2bc40be (patch)
tree439ceec10fe0ab45b030eb00f2e47e06330862a3 /vio
parentb95f107371606a6771e28447750372e172513d95 (diff)
downloadmariadb-git-a195ad5ea26227dac0d5f503b9e37717b2bc40be.tar.gz
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
Diffstat (limited to 'vio')
-rw-r--r--vio/vio.c2
-rw-r--r--vio/viossl.c11
2 files changed, 1 insertions, 12 deletions
diff --git a/vio/vio.c b/vio/vio.c
index 6174acd7024..1eeafe483dc 100644
--- a/vio/vio.c
+++ b/vio/vio.c
@@ -96,7 +96,7 @@ void vio_reset(Vio* vio, enum enum_vio_type type,
vio->in_addr =vio_ssl_in_addr;
vio->vioblocking =vio_ssl_blocking;
vio->is_blocking =vio_is_blocking;
- vio->timeout =vio_ssl_timeout;
+ vio->timeout =vio_timeout;
}
else /* default is VIO_TYPE_TCPIP */
#endif /* HAVE_OPENSSL */
diff --git a/vio/viossl.c b/vio/viossl.c
index 62145fe5006..8da9723d7d8 100644
--- a/vio/viossl.c
+++ b/vio/viossl.c
@@ -416,15 +416,4 @@ int vio_ssl_blocking(Vio * vio __attribute__((unused)),
}
-void vio_ssl_timeout(Vio *vio __attribute__((unused)),
- uint which __attribute__((unused)),
- uint timeout __attribute__((unused)))
-{
-#ifdef __WIN__
- ulong wait_timeout= (ulong) timeout * 1000;
- (void) setsockopt(vio->sd, SOL_SOCKET,
- which ? SO_SNDTIMEO : SO_RCVTIMEO, (char*) &wait_timeout,
- sizeof(wait_timeout));
-#endif /* __WIN__ */
-}
#endif /* HAVE_OPENSSL */