I'm implementing a complex application that takes third-party plug-ins, and I want to run the plug-in code in child processes for isolation. The parent process needs to be multithreaded, but I have read that [`fork` may be unsafe in multithreaded processes](http://www.linuxprogrammingblog.com/threads-and-fork-think-twice-before-using-them), particularly if you do not immediately call `execve`, and that [`pthread_atfork` is not a complete solution](https://sourceware.org/bugzilla/show_bug.cgi?id=13502).

What do other complex applications do about this? I know Chrome uses both subprocesses and multithreading simultaneously, so it must be *possible*.