diff src/luan/modules/Thread.luan @ 1233:3fad7091b419

make Thread.safe implicit
author Franklin Schmidt <fschmidt@gmail.com>
date Sun, 08 Apr 2018 01:01:48 -0600
parents 9f5edbef3f55
children 2b5046cd7963
line wrap: on
line diff
--- a/src/luan/modules/Thread.luan	Sun Apr 08 00:41:44 2018 -0600
+++ b/src/luan/modules/Thread.luan	Sun Apr 08 01:01:48 2018 -0600
@@ -4,15 +4,15 @@
 local error = Luan.error
 local set_metatable = Luan.set_metatable or error()
 local try = Luan.try or error()
+local Logging = require "luan:logging/Logging.luan"
+local logger = Logging.logger "Thread"
 
 
 local Thread = {}
 
-Thread.fork = ThreadLuan.fork
-Thread.schedule = ThreadLuan.schedule
 Thread.sleep = ThreadLuan.sleep
 
-function Thread.safe(fn,logger)
+local function safe(fn)
 	return function()
 		try {
 			function()
@@ -25,6 +25,17 @@
 	end
 end
 
+function Thread.fork(fn,...)
+	fn = safe(fn)
+	ThreadLuan.fork(fn,...)
+end
+
+function Thread.schedule(delay,repeated,fn,...)
+	fn = safe(fn)
+	ThreadLuan.schedule(delay,repeated,fn,...)
+end
+
+
 --[[
 Thread.global = {}  -- shared across threads
 local map = ThreadLuan.GlobalMap.new()