THREAD.exposeENV(), thread:newProcessor()

This commit is contained in:
2023-05-06 16:46:15 -04:00
parent 5cc18b04ae
commit 4fe428e572
7 changed files with 144 additions and 61 deletions
+14 -4
View File
@@ -129,12 +129,22 @@ local function INIT(__GlobalLinda, __SleepingLinda, __StatusLinda, __Console)
end
})
function THREAD.setENV(env)
GLOBAL["__env"] = env
function THREAD.setENV(env, name)
name = name or "__env"
GLOBAL[name] = env
end
function THREAD.getENV()
return GLOBAL["__env"]
function THREAD.getENV(name)
name = name or "__env"
return GLOBAL[name]
end
function THREAD.exposeENV(name)
name = name or "__env"
local env = THREAD.getENV(name)
for i,v in pairs(env) do
_G[i] = v
end
end
return GLOBAL, THREAD
+15 -4
View File
@@ -167,12 +167,23 @@ function threads.unpackENV(env)
return e
end
function threads.setENV(env)
(threads.getGlobal())["__env"] = threads.packENV(env)
function threads.setENV(env, name)
name = name or "__env"
(threads.getGlobal())[name] = threads.packENV(env)
end
function threads.getENV()
return threads.unpackENV((threads.getGlobal())["__env"])
function threads.getENV(name)
name = name or "__env"
return threads.unpackENV((threads.getGlobal())[name])
end
function threads.exposeENV(name)
name = name or "__env"
local env = threads.getENV(name)
for i,v in pairs(env) do
_G[i] = v
end
end
function threads.createTable(n)
+2 -1
View File
@@ -59,13 +59,14 @@ function multi:newSystemThread(name,func,...)
GLOBAL["$__THREADNAME__"] = name
GLOBAL["$THREAD_ID"] = id
GLOBAL["$thread"] = thread
local env = {
GLOBAL = GLOBAL,
THREAD = THREAD,
THREAD_NAME = name,
__THREADNAME__ = name,
THREAD_ID = id,
thread = thread
thread = thread,
}
if GLOBAL["__env"] then
+15 -4
View File
@@ -96,12 +96,23 @@ local function INIT(thread)
THREAD.hold = thread.hold
function THREAD.setENV(env)
GLOBAL["__env"] = env
function THREAD.setENV(env, name)
name = name or "__env"
GLOBAL[name] = env
end
function THREAD.getENV()
return GLOBAL["__env"]
function THREAD.getENV(name)
name = name or "__env"
return GLOBAL[name]
end
function THREAD.exposeENV(name)
name = name or "__env"
local env = THREAD.getENV(name)
for i,v in pairs(env) do
-- This may need to be reworked!
_G[i] = v
end
end
return GLOBAL, THREAD