summaryrefslogtreecommitdiff
path: root/vio/vio_priv.h
diff options
context:
space:
mode:
authorDavi Arnaut <Davi.Arnaut@Sun.COM>2009-11-10 17:36:38 -0200
committerDavi Arnaut <Davi.Arnaut@Sun.COM>2009-11-10 17:36:38 -0200
commit5783428f3b3fd8fbae5b9923cb942f3916011f32 (patch)
treecd2a6e4896a743f9dc89d6b6b5273f487ba04ccb /vio/vio_priv.h
parent58706b3f7d73b1b1c5fce40b1296670d4e6d3ddf (diff)
downloadmariadb-git-5783428f3b3fd8fbae5b9923cb942f3916011f32.tar.gz
Backport of Bug#41860 to mysql-next-mr
------------------------------------------------------------ revno: 3317 revision-id: davi.arnaut@sun.com-20090522170916-fzc5ca3tjs9roy1t parent: patrick.crews@sun.com-20090522152933-ole8s3suy4zqyvku committer: Davi Arnaut <Davi.Arnaut@Sun.COM> branch nick: 41860-6.0 timestamp: Fri 2009-05-22 14:09:16 -0300 message: Bug#41860: Without Windows named pipe The problem was that the patch for Bug#10374 broke named pipe and shared memory transports on Windows due to a failure to implement a dummy poll method for transports other than BSD sockets. Another problem was that mysqltest lacked support for named pipe and shared memory connections, which lead to misleading test cases that were supposed run common queries over both transports. The solution is to properly implement, at the VIO layer, the poll and is_connected methods. The is_connected method is implemented for every suppported transport and the poll one only where it makes sense. Furthermore, support for named pipe and shared memory connections is added to mysqltest as to enable testing of both transports using the test suite.
Diffstat (limited to 'vio/vio_priv.h')
-rw-r--r--vio/vio_priv.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/vio/vio_priv.h b/vio/vio_priv.h
index 792fad4cc66..c32d973393f 100644
--- a/vio/vio_priv.h
+++ b/vio/vio_priv.h
@@ -25,6 +25,20 @@
#include <m_string.h>
#include <violite.h>
+#ifdef __WIN__
+size_t vio_read_pipe(Vio *vio, uchar * buf, size_t size);
+size_t vio_write_pipe(Vio *vio, const uchar * buf, size_t size);
+my_bool vio_is_connected_pipe(Vio *vio);
+int vio_close_pipe(Vio * vio);
+#endif
+
+#ifdef HAVE_SMEM
+size_t vio_read_shared_memory(Vio *vio, uchar * buf, size_t size);
+size_t vio_write_shared_memory(Vio *vio, const uchar * buf, size_t size);
+my_bool vio_is_connected_shared_memory(Vio *vio);
+int vio_close_shared_memory(Vio * vio);
+#endif
+
void vio_ignore_timeout(Vio *vio, uint which, uint timeout);
void vio_timeout(Vio *vio,uint which, uint timeout);