From fe7d9625aa607a81ad30dab9a0b0958f46ad6ec6 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 13 Jul 2020 06:16:11 +0100 Subject: [PATCH] cosmetics --- .../OSHttpServer/ContextTimeoutManager.cs | 3 +- .../OSHttpServer/HttpClientContext.cs | 32 ++++++++----------- 2 files changed, 15 insertions(+), 20 deletions(-) diff --git a/OpenSim/Framework/Servers/HttpServer/OSHttpServer/ContextTimeoutManager.cs b/OpenSim/Framework/Servers/HttpServer/OSHttpServer/ContextTimeoutManager.cs index 9dcc13df41..ceea624c31 100644 --- a/OpenSim/Framework/Servers/HttpServer/OSHttpServer/ContextTimeoutManager.cs +++ b/OpenSim/Framework/Servers/HttpServer/OSHttpServer/ContextTimeoutManager.cs @@ -121,8 +121,7 @@ namespace OSHttpServer SocketError disconnectError = SocketError.HostDown; for (int i = 0; i < m_contexts.Count; i++) { - HttpClientContext context = null; - if (m_contexts.TryDequeue(out context)) + if (m_contexts.TryDequeue(out HttpClientContext context)) { try { diff --git a/OpenSim/Framework/Servers/HttpServer/OSHttpServer/HttpClientContext.cs b/OpenSim/Framework/Servers/HttpServer/OSHttpServer/HttpClientContext.cs index 0d2a6cf6f7..617004079c 100644 --- a/OpenSim/Framework/Servers/HttpServer/OSHttpServer/HttpClientContext.cs +++ b/OpenSim/Framework/Servers/HttpServer/OSHttpServer/HttpClientContext.cs @@ -91,11 +91,6 @@ namespace OSHttpServer public bool StopMonitoring; - /// - /// Context have been started (a new client have connected) - /// - public event EventHandler Started; - public IPEndPoint LocalIPEndPoint {get; set;} /// @@ -213,8 +208,8 @@ namespace OSHttpServer /// public virtual void Start() { - ReceiveLoop(); - Started?.Invoke(this, EventArgs.Empty); + Task tk = new Task(() => ReceiveLoop()); + tk.Start(); } /// @@ -488,7 +483,6 @@ namespace OSHttpServer m_waitingResponse = true; } - // for now pipeline requests need to be serialized by opensim if(donow) RequestReceived?.Invoke(this, new RequestEventArgs(m_currentRequest)); @@ -530,9 +524,14 @@ namespace OSHttpServer isSendingResponse = false; m_currentResponse?.Clear(); m_currentResponse = null; + lock (m_requestsLock) + m_waitingResponse = false; + + if(contextID < 0) + return; bool doclose = ctype == ConnectionType.Close; - if (doclose) + if (doclose) { m_isClosing = true; m_requests.Clear(); @@ -559,19 +558,16 @@ namespace OSHttpServer return; TriggerKeepalive = true; + HttpRequest nextRequest = null; lock (m_requestsLock) { - m_waitingResponse = false; if (m_requests != null && m_requests.Count > 0) - { - HttpRequest nextRequest = m_requests.Dequeue(); - if (nextRequest != null) - { - m_waitingResponse = true; - RequestReceived?.Invoke(this, new RequestEventArgs(nextRequest)); - } - } + nextRequest = m_requests.Dequeue(); + if (nextRequest != null && RequestReceived != null) + m_waitingResponse = true; } + if (nextRequest != null) + RequestReceived?.Invoke(this, new RequestEventArgs(nextRequest)); } }