Mercurial Hosting > luan
view src/luan/modules/Thread.luan @ 1157:50879022f49d
failed attempt to remove Http.per_session_pages
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Mon, 05 Feb 2018 01:25:42 -0700 |
parents | 772d16c89056 |
children | 3ef883468fd0 |
line wrap: on
line source
java() local ThreadLuan = require "java:luan.modules.ThreadLuan" local Luan = require "luan:Luan.luan" local error = Luan.error local set_metatable = Luan.set_metatable or error() local Thread = {} Thread.fork = ThreadLuan.fork Thread.schedule = ThreadLuan.schedule Thread.sleep = ThreadLuan.sleep Thread.global = {} -- shared across threads local map = ThreadLuan.GlobalMap.new() local global_mt = {} set_metatable(Thread.global,global_mt) function global_mt.__index(_,key) return map.get(key) end function global_mt.__new_index(_,key,value) map.put(key,value) end function Thread.get_global_timeout() return map.timeout end function Thread.set_global_timeout(timeout) map.timeout = timeout end function Thread.global_put(key,value) return map.put(key,value) end --[[ function Thread.global_callable(name,timeout,fns) local callable = ThreadLuan.globalCallable(name,timeout,fns) local mt = {} function mt.__index(_,key) return function(...) return callable.call(key,args) end end local tbl = {} set_metatable(tbl,mt) return tbl end ]] return Thread