Trying to fix exposeENV with pseudoThreading
This commit is contained in:
parent
e616b51d6f
commit
ec9f7dec61
8
init.lua
8
init.lua
@ -472,15 +472,15 @@ function multi:isFindingOptimizing()
|
|||||||
end
|
end
|
||||||
|
|
||||||
-- Used with ISO Threads
|
-- Used with ISO Threads
|
||||||
local function isolateFunction(func,env)
|
local function isolateFunction(func, env)
|
||||||
local dmp = string.dump(func)
|
local dmp = string.dump(func)
|
||||||
local env = env or {}
|
local env = env or {}
|
||||||
if setfenv then
|
if setfenv then
|
||||||
local f = loadstring(dmp,"IsolatedThread_PesudoThreading")
|
local f = loadstring(dmp, "IsolatedThread_PesudoThreading")
|
||||||
setfenv(f,env)
|
setfenv(f, env)
|
||||||
return f
|
return f
|
||||||
else
|
else
|
||||||
return load(dmp,"IsolatedThread_PesudoThreading","bt",env)
|
return load(dmp,"IsolatedThread_PesudoThreading", "bt", env)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@ -54,6 +54,7 @@ local tab = [[_VERSION,io,os,require,load,debug,assert,collectgarbage,error,getf
|
|||||||
tab = split(tab)
|
tab = split(tab)
|
||||||
|
|
||||||
local id = 0
|
local id = 0
|
||||||
|
|
||||||
function multi:newSystemThread(name,func,...)
|
function multi:newSystemThread(name,func,...)
|
||||||
GLOBAL["$THREAD_NAME"] = name
|
GLOBAL["$THREAD_NAME"] = name
|
||||||
GLOBAL["$__THREADNAME__"] = name
|
GLOBAL["$__THREADNAME__"] = name
|
||||||
@ -69,6 +70,8 @@ function multi:newSystemThread(name,func,...)
|
|||||||
thread = thread,
|
thread = thread,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
env.__env = env
|
||||||
|
|
||||||
if GLOBAL["__env"] then
|
if GLOBAL["__env"] then
|
||||||
for i,v in pairs(GLOBAL["__env"]) do
|
for i,v in pairs(GLOBAL["__env"]) do
|
||||||
env[i] = v
|
env[i] = v
|
||||||
|
|||||||
@ -107,6 +107,7 @@ local function INIT(thread)
|
|||||||
end
|
end
|
||||||
|
|
||||||
function THREAD.exposeENV(name)
|
function THREAD.exposeENV(name)
|
||||||
|
print("env",__env)
|
||||||
name = name or "__env"
|
name = name or "__env"
|
||||||
local env = THREAD.getENV(name)
|
local env = THREAD.getENV(name)
|
||||||
for i,v in pairs(env) do
|
for i,v in pairs(env) do
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user