diff --git a/CHANGELOG.md b/CHANGELOG.md index a6c03b88..8cf22411 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -108,6 +108,7 @@ exiting shell (https://codeberg.org/dnkl/foot/issues/366). * Default value of `-t,--term` in `--help` output when foot was built without terminfo support. +* Drain PTY when the client application terminates. ### Security diff --git a/terminal.c b/terminal.c index 5cbb7fcf..88599094 100644 --- a/terminal.c +++ b/terminal.c @@ -991,16 +991,8 @@ slave_died(struct reaper *reaper, pid_t pid, int status, void *data) term->slave_has_been_reaped = true; term->exit_status = status; - if (term->conf->hold_at_exit) { - /* The PTMX FDM handler may already have closed our end */ - if (term->ptmx >= 0) { - fdm_del(term->fdm, term->ptmx); - term->ptmx = -1; - } - return; - } - - term_shutdown(term); + if (!term->conf->hold_at_exit) + term_shutdown(term); } struct terminal *