summaryrefslogtreecommitdiff
path: root/net-im/jabberd/files/jabberd-1.4.4-xdb_sql.c-rev1211.patch
Side-by-side diff
Diffstat (limited to 'net-im/jabberd/files/jabberd-1.4.4-xdb_sql.c-rev1211.patch') (more/less context) (ignore whitespace changes)
-rw-r--r--net-im/jabberd/files/jabberd-1.4.4-xdb_sql.c-rev1211.patch24
1 files changed, 24 insertions, 0 deletions
diff --git a/net-im/jabberd/files/jabberd-1.4.4-xdb_sql.c-rev1211.patch b/net-im/jabberd/files/jabberd-1.4.4-xdb_sql.c-rev1211.patch
new file mode 100644
index 0000000..75f0a01
--- a/dev/null
+++ b/net-im/jabberd/files/jabberd-1.4.4-xdb_sql.c-rev1211.patch
@@ -0,0 +1,24 @@
+--- xdb_sql/xdb_sql.c 2006/03/15 22:16:37 1210
++++ xdb_sql/xdb_sql.c 2006/04/25 22:01:39 1211
+@@ -269,10 +269,18 @@
+ ret = mysql_query(xq->mysql, query);
+
+ /* failed and we need to reconnect? */
+- if (ret == CR_SERVER_LOST || ret == CR_SERVER_GONE_ERROR) {
+- xdb_sql_mysql_connect(i, xq);
++ if (ret) {
++ unsigned int query_errno = mysql_errno(xq->mysql);
++ if (query_errno == CR_SERVER_LOST || query_errno == CR_SERVER_GONE_ERROR) {
++ log_debug2(ZONE, LOGT_STORAGE, "connection lost, trying to reconnect to MySQL server");
++ xdb_sql_mysql_connect(i, xq);
+
+- ret = mysql_query(xq->mysql, query);
++ ret = mysql_query(xq->mysql, query);
++
++ if (ret == 0) {
++ log_notice(i->id, "connection to MySQL server %s:%i had been lost, and has been reestablished", xq->mysql_host , xq->mysql_port);
++ }
++ }
+ }
+
+ /* still an error? log and return */