From c22276a169125e97b39d72c2e9ca55f5e1807320 Mon Sep 17 00:00:00 2001
From: teravus
Date: Thu, 14 Feb 2013 18:43:53 -0500
Subject: * gracefully handle a Situation where a double close is called on the
WebSocket handler
---
OpenSim/Framework/Servers/HttpServer/WebsocketServerHandler.cs | 2 ++
1 file changed, 2 insertions(+)
diff --git a/OpenSim/Framework/Servers/HttpServer/WebsocketServerHandler.cs b/OpenSim/Framework/Servers/HttpServer/WebsocketServerHandler.cs
index cfb1605..bb8825b 100644
--- a/OpenSim/Framework/Servers/HttpServer/WebsocketServerHandler.cs
+++ b/OpenSim/Framework/Servers/HttpServer/WebsocketServerHandler.cs
@@ -535,6 +535,8 @@ namespace OpenSim.Framework.Servers.HttpServer
///
public void Close(string message)
{
+ if (_networkContext == null)
+ return;
if (_networkContext.Stream != null)
{
if (_networkContext.Stream.CanWrite)
--
cgit v1.1
From 71862f34b6e97e19fceefd9ccb813ce09ef0a0c3 Mon Sep 17 00:00:00 2001
From: teravus
Date: Thu, 14 Feb 2013 18:52:11 -0500
Subject: * Handle null check on configs in module startup so that the the code
can be run on 'stop on handled and unhandled null reference exceptions' mode
without pausing during startup a bunch of times. I don't think exceptions
were really meant for replacing a single if statement...
---
.../Framework/Statistics/Logging/BinaryLoggingModule.cs | 2 +-
.../Region/CoreModules/Scripting/XMLRPC/XMLRPCModule.cs | 14 ++++++++------
2 files changed, 9 insertions(+), 7 deletions(-)
diff --git a/OpenSim/Region/CoreModules/Framework/Statistics/Logging/BinaryLoggingModule.cs b/OpenSim/Region/CoreModules/Framework/Statistics/Logging/BinaryLoggingModule.cs
index fb74cc6..f3436d1 100644
--- a/OpenSim/Region/CoreModules/Framework/Statistics/Logging/BinaryLoggingModule.cs
+++ b/OpenSim/Region/CoreModules/Framework/Statistics/Logging/BinaryLoggingModule.cs
@@ -57,7 +57,7 @@ namespace OpenSim.Region.CoreModules.Framework.Statistics.Logging
try
{
IConfig statConfig = source.Configs["Statistics.Binary"];
- if (statConfig.Contains("enabled") && statConfig.GetBoolean("enabled"))
+ if (statConfig != null && statConfig.Contains("enabled") && statConfig.GetBoolean("enabled"))
{
if (statConfig.Contains("collect_region_stats"))
{
diff --git a/OpenSim/Region/CoreModules/Scripting/XMLRPC/XMLRPCModule.cs b/OpenSim/Region/CoreModules/Scripting/XMLRPC/XMLRPCModule.cs
index 385f5ad..cbffca7 100644
--- a/OpenSim/Region/CoreModules/Scripting/XMLRPC/XMLRPCModule.cs
+++ b/OpenSim/Region/CoreModules/Scripting/XMLRPC/XMLRPCModule.cs
@@ -111,13 +111,15 @@ namespace OpenSim.Region.CoreModules.Scripting.XMLRPC
m_rpcPending = new Dictionary();
m_rpcPendingResponses = new Dictionary();
m_pendingSRDResponses = new Dictionary();
-
- try
- {
- m_remoteDataPort = config.Configs["XMLRPC"].GetInt("XmlRpcPort", m_remoteDataPort);
- }
- catch (Exception)
+ if (config.Configs["XMLRPC"] != null)
{
+ try
+ {
+ m_remoteDataPort = config.Configs["XMLRPC"].GetInt("XmlRpcPort", m_remoteDataPort);
+ }
+ catch (Exception)
+ {
+ }
}
}
--
cgit v1.1