aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--plugins/mod_admin_shell.lua5
1 files changed, 5 insertions, 0 deletions
diff --git a/plugins/mod_admin_shell.lua b/plugins/mod_admin_shell.lua
index 83891c04..123b5aa7 100644
--- a/plugins/mod_admin_shell.lua
+++ b/plugins/mod_admin_shell.lua
@@ -35,6 +35,7 @@ local async = require "util.async";
local serialization = require "util.serialization";
local serialize_config = serialization.new ({ fatal = false, unquoted = true});
local time = require "util.time";
+local promise = require "util.promise";
local t_insert = table.insert;
local t_concat = table.concat;
@@ -173,6 +174,10 @@ local function handle_line(event)
local taskok, message = chunk();
+ if promise.is_promise(taskok) then
+ taskok, message = async.wait_for(taskok);
+ end
+
if not message then
if type(taskok) ~= "string" and useglobalenv then
taskok = session.serialize(taskok);