Skip to content

fix: Reduce parent-death watchdog CPU usage#12697

Merged
anthonyshew merged 1 commit into
mainfrom
fix-12693
May 2, 2026
Merged

fix: Reduce parent-death watchdog CPU usage#12697
anthonyshew merged 1 commit into
mainfrom
fix-12693

Conversation

@anthonyshew

@anthonyshew anthonyshew commented May 2, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Remove the per-task target-exit monitor from Unix parent-death watchdogs.
  • Keep each watchdog blocked only on its control pipe so persistent tasks do not create high-CPU kqueue/poll loops on macOS.
  • Preserve parent-death cleanup: if Turbo exits without disarming the watchdog, the captured process group is still terminated.

Closes #12693

@anthonyshew anthonyshew requested a review from a team as a code owner May 2, 2026 03:47
@anthonyshew anthonyshew requested review from tknickman and removed request for a team May 2, 2026 03:47
@vercel

vercel Bot commented May 2, 2026

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
examples-basic-web Ready Ready Preview, Comment, Open in v0 May 2, 2026 3:48am
examples-designsystem-docs Ready Ready Preview, Comment, Open in v0 May 2, 2026 3:48am
examples-gatsby-web Ready Ready Preview, Comment, Open in v0 May 2, 2026 3:48am
examples-kitchensink-blog Ready Ready Preview, Comment, Open in v0 May 2, 2026 3:48am
examples-nonmonorepo Ready Ready Preview, Comment, Open in v0 May 2, 2026 3:48am
examples-svelte-web Ready Ready Preview, Comment, Open in v0 May 2, 2026 3:48am
examples-tailwind-web Ready Ready Preview, Comment, Open in v0 May 2, 2026 3:48am
examples-vite-web Ready Ready Preview, Comment, Open in v0 May 2, 2026 3:48am
turbo-site Ready Ready Preview, Comment, Open in v0 May 2, 2026 3:48am

@anthonyshew anthonyshew merged commit 97706ca into main May 2, 2026
55 of 57 checks passed
@anthonyshew anthonyshew deleted the fix-12693 branch May 2, 2026 04:07
github-actions Bot added a commit that referenced this pull request May 2, 2026
## Release v2.9.8-canary.6

> [!CAUTION]
> Versioned docs aliasing FAILED. [View
logs](https://github.com/vercel/turborepo/actions/runs/25243381602)

### Changes

- release(turborepo): 2.9.8-canary.5 (#12696) (`fe78c2c`)
- fix: Reduce parent-death watchdog CPU usage (#12697) (`97706ca`)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
github-actions Bot added a commit that referenced this pull request May 3, 2026
## Release v2.9.8

> [!CAUTION]
> Versioned docs aliasing FAILED. [View
logs](https://github.com/vercel/turborepo/actions/runs/25267621420)

### Changes

- release(turborepo): 2.9.7 (#12679) (`92f91fa`)
- test: Add regression for gitignored output restore (#12681)
(`9eadf5e`)
- docs: Clarify root task guidance (#12683) (`8ce7492`)
- fix: Preserve concrete dependency precedence (#12682) (`f8623ee`)
- release(turborepo): 2.9.8-canary.1 (#12685) (`1808a21`)
- fix: Resolve Yarn catalog affected packages (#12684) (`a0dcc52`)
- release(turborepo): 2.9.8-canary.2 (#12687) (`96f9786`)
- fix: Preserve Bun prune lockfile validity (#12686) (`f3b8e22`)
- release(turborepo): 2.9.8-canary.3 (#12689) (`1b7b8a9`)
- fix: Create prune docker bin stubs (#12688) (`364c177`)
- release(turborepo): 2.9.8-canary.4 (#12690) (`c37b3ff`)
- chore: Update to Rust 1.95.0 (#12636) (`c392227`)
- fix: Keep tbx shell connections stable (#12692) (`8451e86`)
- perf: Reduce `turbo watch` hash memory spikes (#12695) (`dab9979`)
- release(turborepo): 2.9.8-canary.5 (#12696) (`fe78c2c`)
- fix: Reduce parent-death watchdog CPU usage (#12697) (`97706ca`)
- release(turborepo): 2.9.8-canary.6 (#12698) (`3895eef`)

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Turbo 2.9.7 spawns high-CPU child turbo processes for persistent tasks under tmux

1 participant