Switching from using threads to watch the forked processes to using an outer fork to watch it, because you shouldn't mix threads and forks (due to potential deadlock issues)