diff options
author | unknown <rburnett@bk-internal.mysql.com> | 2005-05-05 17:17:57 +0200 |
---|---|---|
committer | unknown <rburnett@bk-internal.mysql.com> | 2005-05-05 17:17:57 +0200 |
commit | af5596b32e650287f84650a9dda8a5170a23b6d4 (patch) | |
tree | 473d25909e3be433119f837f31e252c0c64fca28 /vio/viosocket.c | |
parent | d4b3d364edc4d40a9910dd87c33b27a3cab7865c (diff) | |
download | mariadb-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.c | 9 |
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__ */ } |