From 7c302e9c4c30da4506fe60ea57373301c08da15e Mon Sep 17 00:00:00 2001 From: Kim Alvefur Date: Sun, 22 Jan 2023 14:42:07 +0100 Subject: util.prosodyctl.shell: Close state on exit to fix saving shell history This ensures a last round of garbage collection and finalizers, which should include flushing the readline history file. Test procedure: ``` $ ./prosodyctl shell prosody> s2s:show() -- any command that is not the last in history ... output prosody> bye $ ./prosodyctl shell prosody> ^P ``` After this, the shell prompt should contain the last command from before the "bye". Before this patch, recent history is gone most of the time. --- util/prosodyctl/shell.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'util/prosodyctl/shell.lua') diff --git a/util/prosodyctl/shell.lua b/util/prosodyctl/shell.lua index bce27b94..8cf7df69 100644 --- a/util/prosodyctl/shell.lua +++ b/util/prosodyctl/shell.lua @@ -39,7 +39,7 @@ local function repl(client) if have_readline then readline.save_history(); end - os.exit(); + os.exit(0, true); end send_line(client, line); end @@ -112,7 +112,7 @@ local function start(arg) --luacheck: ignore 212/arg client.events.add_handler("disconnected", function () print("--- session closed ---"); - os.exit(); + os.exit(0, true); end); client.events.add_handler("received", function (stanza) -- cgit v1.2.3