Files
ghostty/src
Mitchell Hashimoto e32c031588 termio: ensure we kill all the children without killing ourselves
Fixes #497

This commit resolves two bugs:

First, if a surface is created and destroyed too quickly, the child
process may not have called `setsid` yet (to set the process group). In
this case, `getpgid` returns Ghostty's process group and we were killing
ourselves. We now detect we're about to kill ourselves and wait for our
child to be ready to be killed.

Second, if the child calls setsid but is in the process of execve when
we send a killpg, then the child will be killed but any newly spawned
grandchildren will remain alive. To fix this, we moved the waitpid call
into a kill loop so we can repeatedly kill our child if we detect any
grandchildren are still alive.
2023-12-27 21:44:58 -08:00
..
2023-12-19 11:36:05 -08:00
2023-12-22 08:58:31 -08:00
2023-12-21 13:36:00 -06:00
2023-12-17 16:19:22 +01:00
2023-06-30 12:15:31 -07:00
2023-09-23 22:46:16 -07:00
2023-11-30 21:41:33 +01:00
2023-11-30 21:58:14 +01:00
2023-11-29 15:30:22 -08:00
2023-09-20 12:35:52 -07:00
2022-08-18 11:42:32 -07:00
2023-11-30 21:40:01 +01:00
2023-11-17 21:50:35 -08:00
2023-08-08 14:27:34 +02:00