mirror of
https://github.com/garrytan/gstack.git
synced 2026-09-18 02:42:25 +02:00
fix(bin): gstack-session-update — detached updater owns its stdio (SIGPIPE)
The backgrounded update subshell inherited the session hook's stdout/stderr pipes. Once the hook exits and the caller closes them, any child that writes — git pull's autostash notice, setup output — dies of SIGPIPE, logged as PULL_FAILED exit=141 with an empty stderr capture (observed in the free-tests container, and reachable by any production hook runner that closes stdio promptly). Redirect the fork to /dev/null; all observability already flows through the session-update log file. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
96423aff76
commit
6c0b2e93c7
@@ -146,6 +146,11 @@ fi
|
|||||||
else
|
else
|
||||||
log_entry "UP_TO_DATE head=$OLD_HEAD"
|
log_entry "UP_TO_DATE head=$OLD_HEAD"
|
||||||
fi
|
fi
|
||||||
) &
|
# The detached subshell must own its stdio: it inherits the session hook's
|
||||||
|
# pipes, and once the hook exits and the caller closes them, any child that
|
||||||
|
# writes (git pull's autostash notice, setup output) dies of SIGPIPE —
|
||||||
|
# observed as PULL_FAILED exit=141 with an empty stderr capture. All
|
||||||
|
# observability goes through LOG_FILE.
|
||||||
|
) >/dev/null 2>&1 &
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
|
|||||||
Reference in New Issue
Block a user