# HG changeset patch # User Kim Alvefur # Date 1674394927 -3600 # Node ID 3dfb87814d655e05f35f208f6854767978a81863 # Parent cd738fb8c7542172d3477d3f43a3de4f197385e6 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. diff -r cd738fb8c754 -r 3dfb87814d65 util/prosodyctl/shell.lua --- a/util/prosodyctl/shell.lua Sat Jan 21 17:14:55 2023 +0100 +++ b/util/prosodyctl/shell.lua Sun Jan 22 14:42:07 2023 +0100 @@ -39,7 +39,7 @@ if have_readline then readline.save_history(); end - os.exit(); + os.exit(0, true); end send_line(client, line); end @@ -112,7 +112,7 @@ client.events.add_handler("disconnected", function () print("--- session closed ---"); - os.exit(); + os.exit(0, true); end); client.events.add_handler("received", function (stanza)