summaryrefslogtreecommitdiff
path: root/vio/viosocket.c
diff options
context:
space:
mode:
authorunknown <rburnett@bk-internal.mysql.com>2005-05-05 17:17:57 +0200
committerunknown <rburnett@bk-internal.mysql.com>2005-05-05 17:17:57 +0200
commitaf5596b32e650287f84650a9dda8a5170a23b6d4 (patch)
tree473d25909e3be433119f837f31e252c0c64fca28 /vio/viosocket.c
parentd4b3d364edc4d40a9910dd87c33b27a3cab7865c (diff)
downloadmariadb-git-af5596b32e650287f84650a9dda8a5170a23b6d4.tar.gz
Bug #9721 net_write_timeout not used on Windows
Added an extra parameter to all calls to timeout(). 1 means we want to set the write timeout 0 means we wnat to set the read timeout viossl.c: Add which parameter to ssl timeout routine vio_priv.h: Added which parameter to vio_ignore_timeout and vio_ssl_timeout violite.h: Add which parameter to vio_timeout sigs net_serv.cc: Use proper which code in call to vio_timeout to set the proper timeout viosocket.c: Set the appropriate timeout in vio_timeout vio/viosocket.c: Set the appropriate timeout in vio_timeout sql/net_serv.cc: Use proper which code in call to vio_timeout to set the proper timeout include/violite.h: Add which parameter to vio_timeout sigs vio/vio_priv.h: Added which parameter to vio_ignore_timeout and vio_ssl_timeout vio/viossl.c: Add which parameter to ssl timeout routine BitKeeper/etc/logging_ok: Logging to logging@openlogging.org accepted
Diffstat (limited to 'vio/viosocket.c')
-rw-r--r--vio/viosocket.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/vio/viosocket.c b/vio/viosocket.c
index 77922594469..b6aa793f57b 100644
--- a/vio/viosocket.c
+++ b/vio/viosocket.c
@@ -318,11 +318,16 @@ my_bool vio_poll_read(Vio *vio,uint timeout)
void vio_timeout(Vio *vio __attribute__((unused)),
- uint timeout __attribute__((unused)))
+ uint which __attribute__((unused)),
+ uint timeout __attribute__((unused)))
{
#ifdef __WIN__
ulong wait_timeout= (ulong) timeout * 1000;
- (void) setsockopt(vio->sd, SOL_SOCKET, SO_RCVTIMEO, (char*) &wait_timeout,
+ if (which == 0)
+ (void) setsockopt(vio->sd, SOL_SOCKET, SO_RCVTIMEO, (char*) &wait_timeout,
+ sizeof(wait_timeout));
+ else
+ (void) setsockopt(vio->sd, SOL_SOCKET, SO_SNDTIMEO, (char*) &wait_timeout,
sizeof(wait_timeout));
#endif /* __WIN__ */
}