diff options
author | msvensson@neptunus.(none) <> | 2006-02-16 13:44:56 +0100 |
---|---|---|
committer | msvensson@neptunus.(none) <> | 2006-02-16 13:44:56 +0100 |
commit | 56acf0a0c25b45d37b6eb5a43940e75361a9d0ec (patch) | |
tree | fb121a84d22f589c8e57b0110d9b698a3fcebd0f /libmysql | |
parent | 01ddf969302247de612ae5a1f0253047169f481a (diff) | |
download | mariadb-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.c | 6 |
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); } |