comparison src/luan/modules/Thread.luan @ 1159:3ef883468fd0

remove Http.per_session_pages fix clone closure bug replace Thread.global with Thread.global_callable()
author Franklin Schmidt <fschmidt@gmail.com>
date Mon, 05 Feb 2018 12:37:59 -0700
parents 50879022f49d
children 7ef40e1923b7
comparison
equal deleted inserted replaced
1158:267fdf5e9fbd 1159:3ef883468fd0
9 9
10 Thread.fork = ThreadLuan.fork 10 Thread.fork = ThreadLuan.fork
11 Thread.schedule = ThreadLuan.schedule 11 Thread.schedule = ThreadLuan.schedule
12 Thread.sleep = ThreadLuan.sleep 12 Thread.sleep = ThreadLuan.sleep
13 13
14 14 --[[
15 Thread.global = {} -- shared across threads 15 Thread.global = {} -- shared across threads
16 local map = ThreadLuan.GlobalMap.new() 16 local map = ThreadLuan.GlobalMap.new()
17 local global_mt = {} 17 local global_mt = {}
18 set_metatable(Thread.global,global_mt) 18 set_metatable(Thread.global,global_mt)
19 19
34 end 34 end
35 35
36 function Thread.global_put(key,value) 36 function Thread.global_put(key,value)
37 return map.put(key,value) 37 return map.put(key,value)
38 end 38 end
39 ]]
39 40
40 --[[
41 function Thread.global_callable(name,timeout,fns) 41 function Thread.global_callable(name,timeout,fns)
42 local callable = ThreadLuan.globalCallable(name,timeout,fns) 42 local callable = ThreadLuan.globalCallable(name,timeout,fns)
43 local mt = {} 43 local mt = {}
44 function mt.__index(_,key) 44 function mt.__index(_,key)
45 return function(...) 45 return function(...)
46 return callable.call(key,args) 46 return callable.call(key,...)
47 end 47 end
48 end 48 end
49 local tbl = {} 49 local tbl = {}
50 set_metatable(tbl,mt) 50 set_metatable(tbl,mt)
51 return tbl 51 return tbl
52 end 52 end
53 ]] 53
54 Thread.remove_global_callable = ThreadLuan.removeGlobalCallable
54 55
55 return Thread 56 return Thread