diff options
author | Tom | 2011-05-26 03:42:01 -0700 |
---|---|---|
committer | Tom | 2011-05-26 03:42:01 -0700 |
commit | b000d9ba724ae12ae27c49dd94e36d4592bd6c26 (patch) | |
tree | 75ed29bca15665bd73a98a9b363bc0a122b5d050 /OpenSim/Framework/Servers | |
parent | If a response cannot be obtained (the script has no handler) return a more fr... (diff) | |
download | opensim-SC-b000d9ba724ae12ae27c49dd94e36d4592bd6c26.zip opensim-SC-b000d9ba724ae12ae27c49dd94e36d4592bd6c26.tar.gz opensim-SC-b000d9ba724ae12ae27c49dd94e36d4592bd6c26.tar.bz2 opensim-SC-b000d9ba724ae12ae27c49dd94e36d4592bd6c26.tar.xz |
Some additional protection, it seems that responsedata needs to be locked, but I can't immediately see where it's being accessed from another thread. For now, this will protect the server
Diffstat (limited to 'OpenSim/Framework/Servers')
-rw-r--r-- | OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs b/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs index 36c6c75..c12d666 100644 --- a/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs +++ b/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs | |||
@@ -1523,11 +1523,20 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
1523 | } | 1523 | } |
1524 | else | 1524 | else |
1525 | { | 1525 | { |
1526 | 1526 | try | |
1527 | //m_log.Info("[BASE HTTP SERVER]: Doing HTTP Grunt work with response"); | 1527 | { |
1528 | responsecode = (int)responsedata["int_response_code"]; | 1528 | //m_log.Info("[BASE HTTP SERVER]: Doing HTTP Grunt work with response"); |
1529 | responseString = (string)responsedata["str_response_string"]; | 1529 | responsecode = (int)responsedata["int_response_code"]; |
1530 | contentType = (string)responsedata["content_type"]; | 1530 | responseString = (string)responsedata["str_response_string"]; |
1531 | contentType = (string)responsedata["content_type"]; | ||
1532 | } | ||
1533 | catch | ||
1534 | { | ||
1535 | responsecode = 500; | ||
1536 | responseString = "No response could be obtained"; | ||
1537 | contentType = "text/plain"; | ||
1538 | responsedata = new Hashtable(); | ||
1539 | } | ||
1531 | } | 1540 | } |
1532 | 1541 | ||
1533 | if (responsedata.ContainsKey("error_status_text")) | 1542 | if (responsedata.ContainsKey("error_status_text")) |