Another idea for how to synchronise the StartTransientUnit call without resorting to passing pipe file descriptors to the child: we could simply have the child_setup_func call kill(getpid(), SIGSTOP). The parent process can now do the cgroup move at its leisure, and then send a SIGCONT to the child to let it continue to the exec() call.
Another idea for how to synchronise the StartTransientUnit call without resorting to passing pipe file descriptors to the child: we could simply have the child_setup_func call kill(getpid(), SIGSTOP). The parent process can now do the cgroup move at its leisure, and then send a SIGCONT to the child to let it continue to the exec() call.