aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorMelanie Thielker2010-08-25 23:34:39 +0200
committerMelanie Thielker2010-08-25 23:34:39 +0200
commit1096f43f0d3db628b463d4494c98ad496cf1f039 (patch)
treedda4a1ccd8a0c1a821b643a3d12a43bb7dbbb4ba
parentChange object cleanup again. Make scene object directories more robust and (diff)
downloadopensim-SC_OLD-1096f43f0d3db628b463d4494c98ad496cf1f039.zip
opensim-SC_OLD-1096f43f0d3db628b463d4494c98ad496cf1f039.tar.gz
opensim-SC_OLD-1096f43f0d3db628b463d4494c98ad496cf1f039.tar.bz2
opensim-SC_OLD-1096f43f0d3db628b463d4494c98ad496cf1f039.tar.xz
Prevent an object disposed exception that made forms comms unreliable. After
starting an asynchronous write, one should not close the channel it will be written to synchrnously, that leads to grief.
-rw-r--r--OpenSim/Framework/Servers/HttpServer/SynchronousRestFormsRequester.cs9
1 files changed, 7 insertions, 2 deletions
diff --git a/OpenSim/Framework/Servers/HttpServer/SynchronousRestFormsRequester.cs b/OpenSim/Framework/Servers/HttpServer/SynchronousRestFormsRequester.cs
index e9ae3a3..f955df7 100644
--- a/OpenSim/Framework/Servers/HttpServer/SynchronousRestFormsRequester.cs
+++ b/OpenSim/Framework/Servers/HttpServer/SynchronousRestFormsRequester.cs
@@ -85,8 +85,13 @@ namespace OpenSim.Framework.Servers.HttpServer
85 } 85 }
86 finally 86 finally
87 { 87 {
88 if (requestStream != null) 88 // If this is closed, it will be disposed internally,
89 requestStream.Close(); 89 // but the above write is asynchronous and may hit after
90 // we're through here. So the thread handling that will
91 // throw and put us back into the catch above. Isn't
92 // .NET great?
93 //if (requestStream != null)
94 // requestStream.Close();
90 // Let's not close this 95 // Let's not close this
91 //buffer.Close(); 96 //buffer.Close();
92 97