Mercurial Hosting > luan
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 |