Mercurial Hosting > luan
comparison src/luan/modules/Thread.luan @ 1366:ae2321a09723
improve Thread.schedule
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Mon, 17 Jun 2019 21:50:40 -0600 |
parents | 8d95711f6615 |
children | 431d5bec3ca4 |
comparison
equal
deleted
inserted
replaced
1365:6617763dfd76 | 1366:ae2321a09723 |
---|---|
27 function Thread.fork(fn) | 27 function Thread.fork(fn) |
28 fn = safe(fn) | 28 fn = safe(fn) |
29 ThreadLuan.fork(fn) | 29 ThreadLuan.fork(fn) |
30 end | 30 end |
31 | 31 |
32 function Thread.schedule(delay,fn,repeating) | 32 function Thread.schedule(fn,options) |
33 fn = safe(fn) | 33 fn = safe(fn) |
34 ThreadLuan.schedule(delay,fn,repeating) | 34 options = options or {} |
35 ThreadLuan.schedule(fn,options) | |
35 end | 36 end |
36 | 37 |
37 | 38 |
38 local forever = Time.period{years=100} | 39 local forever = Time.period{years=100} |
39 | 40 |
78 local tbl = {} | 79 local tbl = {} |
79 set_metatable(tbl,mt) | 80 set_metatable(tbl,mt) |
80 return tbl | 81 return tbl |
81 end | 82 end |
82 | 83 |
84 | |
85 local backup_lock = ThreadLuan.backupLock.readLock() | |
86 local run_in_lock = ThreadLuan.runInLock | |
87 | |
88 function Thread.run_for_backup(fn) | |
89 return run_in_lock(backup_lock,fn) | |
90 end | |
91 | |
92 | |
83 return Thread | 93 return Thread |