diff options
author | Kim Alvefur <zash@zash.se> | 2023-01-22 14:42:07 +0100 |
---|---|---|
committer | Kim Alvefur <zash@zash.se> | 2023-01-22 14:42:07 +0100 |
commit | 7c302e9c4c30da4506fe60ea57373301c08da15e (patch) | |
tree | 69f102b3ba309afd91a3c0279ea70c0e998e55a7 | |
parent | 81fd03356fbb451c5a7089a2520ebb7fbf6caf30 (diff) | |
download | prosody-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.lua | 4 |
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) |