11bb544ec0
process and "parent" process is more conducive to policy generation. Previously, tracing of a given program worked something like this: fork() if (child) execprogram() else dotracing() That means that if you "systrace -a named", named would fork and background itself, but you would never get your prompt back because systrace didn't exit. Now it works like this: fork() if (interactive) if (child) execprogram() else dotracing() else if (parent) execprogram() else fork() if (parent) exit(0) setsid() dotracing() This makes it *much* easier to do automated policy generation for tasks run from rc.d. Or, for that matter, makes it much easier to use systrace with tasks run from rc.d.