
I think a first thing would be to decide if child have to stay an id value instead of the representation of the child process. At the moment, the current proposition is a bit unclear on this point. I see two solutions: 1. change the name of child. Basically, boost::process::child appears to me as the representation of a child process. If it was child_id, then I wouldn't have made the suggestions I made that is.. 2. make it a real representation of the child process (as suggested before) with RAII and calling automatically the wait function on destruction if not explicitely detached. This is more work obviously and different design than the current proposal but at least it would impact only the child type. Once decided it is easier to see how to setup a solution to avoid macros for 95% of users in cross-platform context. Again I'm not a specialist in the domain... I'll be able to find time to learn more about POSIX in the coming days. Joel Lamotte