summaryrefslogtreecommitdiff
path: root/libmysql/libmysql.c
diff options
context:
space:
mode:
Diffstat (limited to 'libmysql/libmysql.c')
-rw-r--r--libmysql/libmysql.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/libmysql/libmysql.c b/libmysql/libmysql.c
index 4b7aace549a..cf777cfc52b 100644
--- a/libmysql/libmysql.c
+++ b/libmysql/libmysql.c
@@ -1364,8 +1364,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);
}