From 7032a814f2884a3d56dedbcff9a08ba9157ced05 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 16 Feb 2006 13:44:56 +0100 Subject: 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 libmysql/libmysql.c: Send a new ping if first ping fails with CR_SERVER_LOST and reconnect is turned on --- libmysql/libmysql.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'libmysql/libmysql.c') 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); } -- cgit v1.2.1