summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--plugins/Irc/ircmanager.php13
1 files changed, 11 insertions, 2 deletions
diff --git a/plugins/Irc/ircmanager.php b/plugins/Irc/ircmanager.php
index a54db566a..8d9cac885 100644
--- a/plugins/Irc/ircmanager.php
+++ b/plugins/Irc/ircmanager.php
@@ -72,7 +72,11 @@ class IrcManager extends ImManager {
*/
public function idle() {
// Call Phergie's doTick methods if necessary
- $this->conn->handleEvents();
+ try {
+ $this->conn->handleEvents();
+ } catch (Phergie_Driver_Exception $e) {
+ $this->conn->reconnect();
+ }
}
/**
@@ -84,7 +88,12 @@ class IrcManager extends ImManager {
public function handleInput($socket) {
common_log(LOG_DEBUG, 'Servicing the IRC queue.');
$this->stats('irc_process');
- $this->conn->handleEvents();
+
+ try {
+ $this->conn->handleEvents();
+ } catch (Phergie_Driver_Exception $e) {
+ $this->conn->reconnect();
+ }
}
/**