aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKim Alvefur <zash@zash.se>2023-01-22 14:42:07 +0100
committerKim Alvefur <zash@zash.se>2023-01-22 14:42:07 +0100
commit7c302e9c4c30da4506fe60ea57373301c08da15e (patch)
tree69f102b3ba309afd91a3c0279ea70c0e998e55a7
parent81fd03356fbb451c5a7089a2520ebb7fbf6caf30 (diff)
downloadprosody-7c302e9c4c30da4506fe60ea57373301c08da15e.tar.gz
prosody-7c302e9c4c30da4506fe60ea57373301c08da15e.zip
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.
-rw-r--r--util/prosodyctl/shell.lua4
1 files changed, 2 insertions, 2 deletions
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)