From 13d9a0cefd73946709d5feadf34c8180fb822c10 Mon Sep 17 00:00:00 2001 From: Lars Mueller Date: Fri, 3 May 2019 19:04:47 +0200 Subject: [PATCH] Updates via shellscript --- init.lua | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/init.lua b/init.lua index 6ea719d..3ca613e 100644 --- a/init.lua +++ b/init.lua @@ -414,6 +414,28 @@ string_ext={ end } +threading_ext={ + locks={}, + request=function(resource, func, ...) + if threading_ext.locks[resource] then + table.insert(threading_ext.locks[resource], {func=func, args={...}}) + return false + end + threading_ext.locks[resource]={} + return true + end, + free=function(resource) + if threading_ext.locks[resource] then + local first=threading_ext.locks[resource][1] + if first then + first.func(unpack(first.args), true) + end + end + threading_ext.locks[resource]=nil + return true + end +} + -- File helpers - reading, writing, appending, exists, create_if_not_exists file_ext={ read=function(filename)