diff options
| author | Gabriel Schneider <[email protected]> | 2026-10-01 08:49:50 -0300 |
|---|---|---|
| committer | Gabriel Schneider <[email protected]> | 2026-10-01 08:53:11 -0300 |
| commit | de78a167532d1f78611381accd8839fac066fd56 (patch) | |
| tree | 561b2af0a0fec2bdf6cb4ab618bcfbc5309b1476 /build/snap.zig | |
| parent | 94f6090603e9c9f611a01335bd4eca480b00db76 (diff) | |
| download | pardes-de78a167532d1f78611381accd8839fac066fd56.tar.gz pardes-de78a167532d1f78611381accd8839fac066fd56.zip | |
A language server goes with its children when reaped, and every server's process group is killed as pardes exits: no zls or `zig build --build-runner` outlives the editor
The server is spawned with setsid, its own group's leader, but reap()
signalled only its pid, and nothing reaped the servers at exit: the
socket closing was left to tell them. zls busy in its build runner at a
cold start did not notice, and lived on with its `zig build` for as long
as no one killed it (found as three orphans 40 minutes after their
sessions had gone). reap() now signals the group, and an atexit hook,
registered at the first spawn, kills every server's group.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Diffstat (limited to 'build/snap.zig')
0 files changed, 0 insertions, 0 deletions
