summaryrefslogtreecommitdiff
path: root/vio
diff options
context:
space:
mode:
Diffstat (limited to 'vio')
-rw-r--r--vio/vio.c2
-rw-r--r--vio/viossl.c10
2 files changed, 11 insertions, 1 deletions
diff --git a/vio/vio.c b/vio/vio.c
index bb97f195110..445aec3e3a7 100644
--- a/vio/vio.c
+++ b/vio/vio.c
@@ -60,7 +60,7 @@ void vio_reset(Vio* vio, enum enum_vio_type type,
vio->vioclose =vio_ssl_close;
vio->peer_addr =vio_ssl_peer_addr;
vio->in_addr =vio_ssl_in_addr;
- vio->vioblocking =vio_blocking;
+ vio->vioblocking =vio_ssl_blocking;
vio->is_blocking =vio_is_blocking;
}
else /* default is VIO_TYPE_TCPIP */
diff --git a/vio/viossl.c b/vio/viossl.c
index 7365bdc3daf..6d4f5450148 100644
--- a/vio/viossl.c
+++ b/vio/viossl.c
@@ -362,4 +362,14 @@ void sslconnect(struct st_VioSSLConnectorFd* ptr, Vio* vio, long timeout)
DBUG_VOID_RETURN;
}
+
+int vio_ssl_blocking(Vio * vio __attribute__((unused)),
+ my_bool set_blocking_mode,
+ my_bool *old_mode)
+{
+ /* Return error if we try to change to non_blocking mode */
+ *old_mode=1; /* Mode is always blocking */
+ return set_blocking_mode ? 0 : 1;
+}
+
#endif /* HAVE_OPENSSL */