diff options
author | Melanie Thielker | 2010-08-25 23:34:39 +0200 |
---|---|---|
committer | Melanie Thielker | 2010-08-25 23:34:39 +0200 |
commit | 1096f43f0d3db628b463d4494c98ad496cf1f039 (patch) | |
tree | dda4a1ccd8a0c1a821b643a3d12a43bb7dbbb4ba /OpenSim | |
parent | Change object cleanup again. Make scene object directories more robust and (diff) | |
download | opensim-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.
Diffstat (limited to 'OpenSim')
-rw-r--r-- | OpenSim/Framework/Servers/HttpServer/SynchronousRestFormsRequester.cs | 9 |
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 | ||