Use socketpair() instead of pipe() for the umbilical.