util.prosodyctl.shell: Close state on exit to fix saving shell history 0.12
authorKim Alvefur <zash@zash.se>
Sun, 22 Jan 2023 14:42:07 +0100
branch0.12
changeset 12866 3dfb87814d65
parent 12863 cd738fb8c754
child 12867 891edd1ebde6
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
--- 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)