From ec9f7dec614f14e7d7b7987f1a06dd7f9bfb72af Mon Sep 17 00:00:00 2001 From: Ryan Ward Date: Sun, 7 May 2023 01:31:29 -0400 Subject: [PATCH] Trying to fix exposeENV with pseudoThreading --- init.lua | 8 ++++---- integration/pseudoManager/init.lua | 3 +++ integration/pseudoManager/threads.lua | 1 + 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/init.lua b/init.lua index 1cd1576..092cf1f 100644 --- a/init.lua +++ b/init.lua @@ -472,15 +472,15 @@ function multi:isFindingOptimizing() end -- Used with ISO Threads -local function isolateFunction(func,env) +local function isolateFunction(func, env) local dmp = string.dump(func) local env = env or {} if setfenv then - local f = loadstring(dmp,"IsolatedThread_PesudoThreading") - setfenv(f,env) + local f = loadstring(dmp, "IsolatedThread_PesudoThreading") + setfenv(f, env) return f else - return load(dmp,"IsolatedThread_PesudoThreading","bt",env) + return load(dmp,"IsolatedThread_PesudoThreading", "bt", env) end end diff --git a/integration/pseudoManager/init.lua b/integration/pseudoManager/init.lua index a17daf2..887d1ad 100644 --- a/integration/pseudoManager/init.lua +++ b/integration/pseudoManager/init.lua @@ -54,6 +54,7 @@ local tab = [[_VERSION,io,os,require,load,debug,assert,collectgarbage,error,getf tab = split(tab) local id = 0 + function multi:newSystemThread(name,func,...) GLOBAL["$THREAD_NAME"] = name GLOBAL["$__THREADNAME__"] = name @@ -69,6 +70,8 @@ function multi:newSystemThread(name,func,...) thread = thread, } + env.__env = env + if GLOBAL["__env"] then for i,v in pairs(GLOBAL["__env"]) do env[i] = v diff --git a/integration/pseudoManager/threads.lua b/integration/pseudoManager/threads.lua index 6e44a23..9aa2621 100644 --- a/integration/pseudoManager/threads.lua +++ b/integration/pseudoManager/threads.lua @@ -107,6 +107,7 @@ local function INIT(thread) end function THREAD.exposeENV(name) + print("env",__env) name = name or "__env" local env = THREAD.getENV(name) for i,v in pairs(env) do