Partially revert "Merge waitpid() from g_spawn_sync into gmain()"
This partially reverts commit ce002293. It used to be safe to use g_spawn_sync() from processes that had their own SIGCHLD handler because it simply called wait(). When it was changed to depend on the GLib child watching infrastructure this meant that GLib had to own the SIGCHLD handler. This caused hangs in at least Pidgin. The patch contained two other improvements to the child watch code which we want to keep, so only revert the changes to gspawn itself. https://bugzilla.gnome.org/show_bug.cgi?id=698081
Showing with 36 additions and 40 deletions