fix: Worker no longer leaves defunct pid on macOS

This commit is contained in:
Scott Baxter 2025-04-21 22:58:50 -05:00
parent 36f3045d69
commit 2885c1cf35
1 changed files with 3 additions and 1 deletions

View File

@ -19,7 +19,9 @@ function _p9k_worker_main() {
# usage: _p9k_worker_async <work> <callback>
function _p9k_worker_async() {
local fd async=$1
sysopen -r -o cloexec -u fd <(() { eval $async; } && print -n '\x1e') || return
(print -n '\x1e' &)
pid=$!
wait $pid || return 1
(( ++_p9k_worker_inflight[$_p9k_worker_request_id] ))
_p9k_worker_fds[$fd]=$_p9k_worker_request_id$'\x1f'$2
}