summaryrefslogtreecommitdiff
path: root/libmysql
diff options
context:
space:
mode:
authormsvensson@neptunus.(none) <>2006-02-16 13:44:56 +0100
committermsvensson@neptunus.(none) <>2006-02-16 13:44:56 +0100
commit56acf0a0c25b45d37b6eb5a43940e75361a9d0ec (patch)
treefb121a84d22f589c8e57b0110d9b698a3fcebd0f /libmysql
parent01ddf969302247de612ae5a1f0253047169f481a (diff)
downloadmariadb-git-56acf0a0c25b45d37b6eb5a43940e75361a9d0ec.tar.gz
Bug#14057 mysql_ping() handles TCP and UNIX socket connections in different ways
- Retry the ping if reconnect is turned on and the error was CR_SERVER_LOST
Diffstat (limited to 'libmysql')
-rw-r--r--libmysql/libmysql.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/libmysql/libmysql.c b/libmysql/libmysql.c
index 11ee7284cbf..8e368090137 100644
--- a/libmysql/libmysql.c
+++ b/libmysql/libmysql.c
@@ -1370,8 +1370,12 @@ mysql_stat(MYSQL *mysql)
int STDCALL
mysql_ping(MYSQL *mysql)
{
+ int res;
DBUG_ENTER("mysql_ping");
- DBUG_RETURN(simple_command(mysql,COM_PING,0,0,0));
+ res= simple_command(mysql,COM_PING,0,0,0);
+ if (res == CR_SERVER_LOST && mysql->reconnect)
+ res= simple_command(mysql,COM_PING,0,0,0);
+ DBUG_RETURN(res);
}