mirror of
https://github.com/rayaman/multi.git
synced 2026-09-05 07:27:35 -04:00
THREAD.exposeENV(), thread:newProcessor()
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user