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.
--- 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)