From ed7cf4fbb743a9568eadfd5da045260856e123b5 Mon Sep 17 00:00:00 2001 From: Joshua Granick Date: Mon, 21 Jan 2019 12:32:53 -0800 Subject: [PATCH] Queue the Multi thread again if there's a pending request in the queue (#1276) --- .../backend/native/NativeHTTPRequest.hx | 23 ++++++++++++++----- 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/src/lime/_internal/backend/native/NativeHTTPRequest.hx b/src/lime/_internal/backend/native/NativeHTTPRequest.hx index 239fa213f..9d86a9503 100644 --- a/src/lime/_internal/backend/native/NativeHTTPRequest.hx +++ b/src/lime/_internal/backend/native/NativeHTTPRequest.hx @@ -343,7 +343,7 @@ class NativeHTTPRequest { #if (cpp || neko) if (multiAddHandle == null) multiAddHandle = new Deque (); - multiAddHandle.push (curl); + multiAddHandle.add (curl); #end if (multiThreadPool == null) { @@ -610,15 +610,26 @@ class NativeHTTPRequest { private static function multiThreadPool_onComplete (_):Void { - if (multiProgressTimer != null) { + var curl = multiAddHandle.pop (false); - multiProgressTimer.stop (); - multiProgressTimer = null; + if (curl != null) { + + multiAddHandle.push (curl); + multiThreadPool.queue (); + + } else { + + if (multiProgressTimer != null) { + + multiProgressTimer.stop (); + multiProgressTimer = null; + + } + + multiThreadPoolRunning = false; } - multiThreadPoolRunning = false; - }