diff options
author | UbitUmarov | 2017-05-22 05:53:59 +0100 |
---|---|---|
committer | UbitUmarov | 2017-05-22 05:53:59 +0100 |
commit | fcb435deb4f45511071c7bdb8c4e2290fdc9977f (patch) | |
tree | 5aa7ff77e5719fff07cf60babf18ba9bb7da5a9f | |
parent | disable keepalive on llHttpRequest (diff) | |
download | opensim-SC-fcb435deb4f45511071c7bdb8c4e2290fdc9977f.zip opensim-SC-fcb435deb4f45511071c7bdb8c4e2290fdc9977f.tar.gz opensim-SC-fcb435deb4f45511071c7bdb8c4e2290fdc9977f.tar.bz2 opensim-SC-fcb435deb4f45511071c7bdb8c4e2290fdc9977f.tar.xz |
make sure we drop requests if DoHTTPGruntWork fails
-rw-r--r-- | OpenSim/Framework/Servers/HttpServer/PollServiceRequestManager.cs | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/OpenSim/Framework/Servers/HttpServer/PollServiceRequestManager.cs b/OpenSim/Framework/Servers/HttpServer/PollServiceRequestManager.cs index 314719c..8bf98da 100644 --- a/OpenSim/Framework/Servers/HttpServer/PollServiceRequestManager.cs +++ b/OpenSim/Framework/Servers/HttpServer/PollServiceRequestManager.cs | |||
@@ -244,11 +244,13 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
244 | try | 244 | try |
245 | { | 245 | { |
246 | req.DoHTTPGruntWork(m_server, responsedata); | 246 | req.DoHTTPGruntWork(m_server, responsedata); |
247 | byContextDequeue(req); | ||
248 | } | 247 | } |
249 | catch (ObjectDisposedException) // Browser aborted before we could read body, server closed the stream | 248 | catch (ObjectDisposedException) |
250 | { | 249 | { |
251 | // Ignore it, no need to reply | 250 | } |
251 | finally | ||
252 | { | ||
253 | byContextDequeue(req); | ||
252 | } | 254 | } |
253 | return null; | 255 | return null; |
254 | }, null); | 256 | }, null); |
@@ -263,12 +265,15 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
263 | { | 265 | { |
264 | req.DoHTTPGruntWork(m_server, | 266 | req.DoHTTPGruntWork(m_server, |
265 | req.PollServiceArgs.NoEvents(req.RequestID, req.PollServiceArgs.Id)); | 267 | req.PollServiceArgs.NoEvents(req.RequestID, req.PollServiceArgs.Id)); |
266 | byContextDequeue(req); | ||
267 | } | 268 | } |
268 | catch (ObjectDisposedException) | 269 | catch (ObjectDisposedException) |
269 | { | 270 | { |
270 | // Ignore it, no need to reply | 271 | // Ignore it, no need to reply |
271 | } | 272 | } |
273 | finally | ||
274 | { | ||
275 | byContextDequeue(req); | ||
276 | } | ||
272 | return null; | 277 | return null; |
273 | }, null); | 278 | }, null); |
274 | } | 279 | } |