1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

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.

client/mysqltest.cc:
  Add support for named pipe and shared memory connections.
include/violite.h:
  Move private functions to vio/vio_priv.h
  Add poll_read and is_connected methods.
mysql-test/t/named_pipe.test:
  Run tests over a named pipe connection.
mysql-test/t/shm.test:
  Run tests over a shared memory connection.
sql/item_func.cc:
  Rename method.
sql/sql_class.cc:
  Remove higher-level vio_is_connected implementation.
sql/sql_class.h:
  Rename vio_is_connected to not conflict with the vio one.
  Verify that there is a valid vio.
vio/vio.c:
  Add poll_read and is_connected methods.
vio/vio_priv.h:
  Add private functions.
vio/viosocket.c:
  Implement the is_connected method for the various transports.
This commit is contained in:
Davi Arnaut
2009-11-10 17:36:38 -02:00
parent 80582b000f
commit 17871ade9a
10 changed files with 223 additions and 47 deletions

View File

@ -1962,11 +1962,14 @@ public:
}
inline bool vio_ok() const { return net.vio != 0; }
/** Return FALSE if connection to client is broken. */
bool vio_is_connected();
bool is_connected()
{
return vio_ok() ? vio_is_connected(net.vio) : FALSE;
}
#else
void clear_error();
inline bool vio_ok() const { return TRUE; }
inline bool vio_is_connected() { return TRUE; }
inline bool is_connected() { return TRUE; }
#endif
/**
Mark the current error as fatal. Warning: this does not