+ /*
+ * Prepare for the vfork by saving everything
+ * that the child corrupts before it exec's.
+ * Note that in some signal implementations
+ * which keep the signal info in user space
+ * (e.g. Sun's) it will also be necessary to
+ * save and restore the current sigvec's for
+ * the signals the child touches before it
+ * exec's.
+ */
+ if (wanttty >= 0 && !nosigchld && !noexec) {
+ osigmask = sigblock(sigmask(SIGCHLD));
+ nosigchld = 1;
+ }