Skip to content

server: use SIGCHLD to reap subprocesses timely

Chia-I Wu requested to merge olv/virglrenderer:vkr-sigchld into master

This MR modifies the render server to use SIGCHLD to reap subprocesses. It handles crashed subprocesses as well, which requires me to waitid(P_ALL, ...) rather than waitid(P_PID, ...). For that to work, I have to track all workers in render_worker_jail.

The first 3 commits are minor fixes/cleanups.

The next 3 commits add worker tracking to render_worker_jail.

The next commit overhauls worker apis and internals. Because render_worker_jail tracks workers now, we can hide the complexity of process management and present a simplified api. This also switches to ``waitid(P_ALL, ...)`.

The last commit uses SIGCHLD to reap.

/cc @zzyiwei @ryanneph

Merge request reports