diff options
| author | Michelle Tilley <michelle@michelletilley.net> | 2026-05-27 14:42:50 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-05-27 14:42:50 -0700 |
| commit | 4475e17c0020ace563d8fbf8a784336041b36d86 (patch) | |
| tree | 1217fa8867daaceada1b338759c94d52a3edd44b /k8s | |
| parent | Allow overriding model with env var (#3493) (diff) | |
| download | atuin-4475e17c0020ace563d8fbf8a784336041b36d86.zip | |
fix: Atuin hangs when attempting to spawn daemon from Ctrl+R invocation (#3502)
This PR fixes a shell hang when daemon autostart happens from the
interactive search widget.
The bash/zsh/fish integrations run `atuin search -i` under command
substitution and swap stdout/stderr so the TUI can draw to the terminal
while the selected command is captured:
```sh
3>&1 1>&2 2>&3
```
This leaves fd 3 open in the atuin search process. If search autostarts
the daemon, the spawned long-running `atuin daemon start --daemonize`
inherits fd 3, the command-substitution pipe, so the shell keeps waiting
for EOF until the daemon is killed.
The fix: close fd 3 after the swap in the non-tmux bash/zsh/fish paths:
```sh
3>&1 1>&2 2>&3 3>&-
```
Tested on zsh; I still need to confirm for bash and fish. Near as I can
tell, the other shell integrations don't need this change.
Fixes #3499
Diffstat (limited to 'k8s')
0 files changed, 0 insertions, 0 deletions
