From 2afecae39c00c2de6ad3296146e235701b3d5cf9 Mon Sep 17 00:00:00 2001 From: Adam Frisby Date: Fri, 19 Oct 2007 23:56:51 +0000 Subject: [PATCH] * IRC ChatModule extension should now be more stable. --- .../Region/Environment/Modules/ChatModule.cs | 21 ++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/OpenSim/Region/Environment/Modules/ChatModule.cs b/OpenSim/Region/Environment/Modules/ChatModule.cs index 518454c42a..a438ae6efe 100644 --- a/OpenSim/Region/Environment/Modules/ChatModule.cs +++ b/OpenSim/Region/Environment/Modules/ChatModule.cs @@ -188,7 +188,8 @@ namespace OpenSim.Region.Environment.Modules }); } } - } + } + Thread.Sleep(50); } } @@ -245,10 +246,20 @@ namespace OpenSim.Region.Environment.Modules m_log.Verbose("CHAT", fromName + " (" + e.Channel + " @ " + scene.RegionInfo.RegionName + ") " + typeName + ": " + e.Message); if (connected) - { - m_ircWriter.WriteLine("PRIVMSG " + m_channel + " :" + "<" + fromName + " in " + scene.RegionInfo.RegionName + ">: " + - e.Message); - m_ircWriter.Flush(); + { + try + { + m_ircWriter.WriteLine("PRIVMSG " + m_channel + " :" + "<" + fromName + " in " + scene.RegionInfo.RegionName + ">: " + + e.Message); + m_ircWriter.Flush(); + } + catch (IOException) + { + m_log.Error("IRC","Disconnected from IRC server."); + listener.Abort(); + pingSender.Abort(); + connected = false; + } } if (e.Channel == 0)