summaryrefslogtreecommitdiff
path: root/vio
diff options
context:
space:
mode:
authorrburnett@bk-internal.mysql.com <>2005-05-06 15:15:48 +0200
committerrburnett@bk-internal.mysql.com <>2005-05-06 15:15:48 +0200
commitad6de2c05a3fcfe9a325981b65275562dfa00e70 (patch)
treefc2e2665a3d8e35e9aabc5e2fe3eb3c34d0c85d3 /vio
parent0e91a7131f47fd1312978a239c895086fc7773db (diff)
parentc95e33fadf9add5fa107f675044a407ffbed1b29 (diff)
downloadmariadb-git-ad6de2c05a3fcfe9a325981b65275562dfa00e70.tar.gz
Merge bk-internal.mysql.com:/users/rburnett/bug9721
into bk-internal.mysql.com:/users/rburnett/mysql-5.0
Diffstat (limited to 'vio')
-rw-r--r--vio/vio_priv.h4
-rw-r--r--vio/viosocket.c8
-rw-r--r--vio/viossl.c3
3 files changed, 9 insertions, 6 deletions
diff --git a/vio/vio_priv.h b/vio/vio_priv.h
index 9a925a2c4c9..3a75a08021d 100644
--- a/vio/vio_priv.h
+++ b/vio/vio_priv.h
@@ -23,7 +23,7 @@
#include <m_string.h>
#include <violite.h>
-void vio_ignore_timeout(Vio *vio, uint timeout);
+void vio_ignore_timeout(Vio *vio, uint which, uint timeout);
#ifdef HAVE_OPENSSL
#include "my_net.h" /* needed because of struct in_addr */
@@ -31,7 +31,7 @@ void vio_ignore_timeout(Vio *vio, uint timeout);
void vio_ssl_delete(Vio* vio);
int vio_ssl_read(Vio *vio,gptr buf, int size);
int vio_ssl_write(Vio *vio,const gptr buf,int size);
-void vio_ssl_timeout(Vio *vio, uint timeout);
+void vio_ssl_timeout(Vio *vio, uint which, uint timeout);
/* setsockopt TCP_NODELAY at IPPROTO_TCP level, when possible. */
int vio_ssl_fastsend(Vio *vio);
diff --git a/vio/viosocket.c b/vio/viosocket.c
index ea85a69e2d4..ee8e85880ba 100644
--- a/vio/viosocket.c
+++ b/vio/viosocket.c
@@ -364,12 +364,14 @@ 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,
- sizeof(wait_timeout));
+ (void) setsockopt(vio->sd, SOL_SOCKET,
+ which ? SO_SNDTIMEO : SO_RCVTIMEO, (char*) &wait_timeout,
+ sizeof(wait_timeout));
#endif /* __WIN__ */
}
diff --git a/vio/viossl.c b/vio/viossl.c
index 400d8842fd3..4233b276346 100644
--- a/vio/viossl.c
+++ b/vio/viossl.c
@@ -424,7 +424,8 @@ int vio_ssl_blocking(Vio * vio __attribute__((unused)),
void vio_ssl_timeout(Vio *vio __attribute__((unused)),
- uint timeout __attribute__((unused)))
+ uint which __attribute__((unused)),
+ uint timeout __attribute__((unused)))
{
/* Not yet implemented (non critical) */
}