]> git.tue.mpg.de Git - paraslash.git/commit
gui: Kill also child processes of external commands.
authorAndre Noll <maan@tuebingen.mpg.de>
Mon, 19 Aug 2024 19:41:23 +0000 (21:41 +0200)
committerAndre Noll <maan@tuebingen.mpg.de>
Wed, 25 Dec 2024 20:08:32 +0000 (21:08 +0100)
commit0deae8543d24cda974b0b7bbbb5be2a924ceef21
treee847ae88d7f1df8e71b1ed33dcb8945d1fc8bc54
parent8bd72ff8b3c9b59b3800042782a3fd28a65abddc
gui: Kill also child processes of external commands.

When a command is executed as a display command from para_gui, and
the command is interrupted from within para_gui by pressing any key,
para_gui only kills the spawned process but leaves alone its child
processes.

Address this problem by putting the spawned process into a separate
process group so that we can easily kill all processes of the group
by passing the negated PID of the child to kill(2).

In theory, the change in exec.c also affects para_mixer, which executes
para_client and para_audioc. However, para_mixer never kills any of
its child processes.
exec.c
gui.c