]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
die when we get a bad connection error
authorEvan Prodromou <evan@status.net>
Sat, 26 Nov 2011 14:54:41 +0000 (09:54 -0500)
committerEvan Prodromou <evan@status.net>
Sat, 26 Nov 2011 14:54:41 +0000 (09:54 -0500)
lib/framework.php

index 4458313eb974ea294e9615727916ebc175f9e256..5d163547f78997436bce24c34695ed7d9280d5a9 100644 (file)
@@ -160,6 +160,15 @@ function PEAR_ErrorToPEAR_Exception($err)
 
     common_log(LOG_ERR, "PEAR Error: $msg ($userInfo)");
 
+    // HACK: queue handlers get kicked by the long-query killer, and 
+    // keep the same broken connection. We die here to get a new
+    // process started.
+
+    if (php_sapi_name() == 'cli' && preg_match('/nativecode=2006/', $msg)) {
+        common_log(LOG_ERR, "Lost DB connection; dying.");
+        exit(100);
+    }
+
     if ($err->getCode()) {
         throw new PEAR_Exception($msg, $err, $err->getCode());
     } else {