util.async: Fix thread check to work correctly in Lua 5.2
authorKim Alvefur <zash@zash.se>
Tue, 21 Nov 2017 21:48:43 +0100
changeset 8411 b751bee6a829
parent 8410 f652e1ea2f69
child 8413 54ff1f91e4db
util.async: Fix thread check to work correctly in Lua 5.2 coroutine.running() now returns the main thread and a boolean true if called from the main thread, as opposed to nil in 5.1
util/async.lua
--- a/util/async.lua	Tue Nov 21 21:48:14 2017 +0100
+++ b/util/async.lua	Tue Nov 21 21:48:43 2017 +0100
@@ -1,8 +1,8 @@
 local log = require "util.logger".init("util.async");
 
 local function checkthread()
-	local thread = coroutine.running();
-	if not thread then
+	local thread, main = coroutine.running();
+	if not thread or main then
 		error("Not running in an async context, see https://prosody.im/doc/developers/util/async");
 	end
 	return thread;