From 01a213b5fa9a99134653e9560fe9b99ad7b4f660 Mon Sep 17 00:00:00 2001 From: Joseph Cloutier Date: Mon, 14 Mar 2022 18:34:48 -0400 Subject: [PATCH] Use `WorkFunction` in `Future`. --- src/lime/app/Future.hx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/lime/app/Future.hx b/src/lime/app/Future.hx index 39d24cc00..02affb288 100644 --- a/src/lime/app/Future.hx +++ b/src/lime/app/Future.hx @@ -75,7 +75,7 @@ import lime.utils.Log; will be ignored after the first time. To change it, use `FutureWork.recreateThreadPool()`. @see https://en.wikipedia.org/wiki/Cooperative_multitasking **/ - public function new(work:Void->Null = null, useThreads:Bool = true) + public function new(work:WorkFunctionNull> = null, useThreads:Bool = true) { if (work != null) { @@ -320,7 +320,7 @@ import lime.utils.Log; public static var maxThreads(default, set):Int = 1; @:allow(lime.app.Future) - private static function queue(work:Void->Null, promise:Promise, mode:ThreadMode = MULTI_THREADED):Void + private static function queue(work:WorkFunctionNull>, promise:Promise, mode:ThreadMode = MULTI_THREADED):Void { if (threadPool == null) { @@ -347,11 +347,11 @@ import lime.utils.Log; } // Event Handlers - private static function threadPool_doWork(state:{work:Void->Dynamic, promise:Promise, ?result:Dynamic, ?error:Dynamic}, output:WorkOutput):Void + private static function threadPool_doWork(state:{work:WorkFunctionDynamic>}, output:WorkOutput):Void { try { - var result = state.work(); + var result = state.work.dispatch(); if (result != null) { output.sendComplete(result);