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
--- 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;