diff 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
line wrap: on
line diff
--- a/src/luan/modules/Thread.luan	Wed Jun 12 22:16:10 2019 -0600
+++ b/src/luan/modules/Thread.luan	Mon Jun 17 21:50:40 2019 -0600
@@ -29,9 +29,10 @@
 	ThreadLuan.fork(fn)
 end
 
-function Thread.schedule(delay,fn,repeating)
+function Thread.schedule(fn,options)
 	fn = safe(fn)
-	ThreadLuan.schedule(delay,fn,repeating)
+	options = options or {}
+	ThreadLuan.schedule(fn,options)
 end
 
 
@@ -80,4 +81,13 @@
 	return tbl
 end
 
+
+local backup_lock = ThreadLuan.backupLock.readLock()
+local run_in_lock = ThreadLuan.runInLock
+
+function Thread.run_for_backup(fn)
+	return run_in_lock(backup_lock,fn)
+end
+
+
 return Thread