commit - 94893746ae158901a4896039a0c0dc29ca008d54
commit + 1b9031f1fccde6f61363328c6efebf045dd97dec
blob - 171a58e15dca3bd197db1b531ac2362735fd7be2
blob + b9e45f082c4569f45b3ac34aede87d108efc8369
--- proc.c
+++ proc.c
pa = &ps->ps_pipes[PROC_PARENT][0];
pb = &ps->ps_pipes[dst][proc];
if (socketpair(AF_UNIX,
- SOCK_STREAM | SOCK_NONBLOCK | SOCK_CLOEXEC,
+ SOCK_STREAM,
PF_UNSPEC, fds) == -1)
fatal("%s: socketpair", __func__);
+
+ mark_nonblock(fds[0]);
+ mark_nonblock(fds[1]);
+ if (fcntl(fds[0], F_SETFD, FD_CLOEXEC) == -1 ||
+ fcntl(fds[1], F_SETFD, FD_CLOEXEC) == -1)
+ fatal("%s: fcntl F_SETFD", __func__);
pa->pp_pipes[dst][proc] = fds[0];
pb->pp_pipes[PROC_PARENT][0] = fds[1];
pa = &ps->ps_pipes[src][i];
pb = &ps->ps_pipes[dst][j];
if (socketpair(AF_UNIX,
- SOCK_STREAM | SOCK_NONBLOCK | SOCK_CLOEXEC,
+ SOCK_STREAM,
PF_UNSPEC, fds) == -1)
fatal("%s: socketpair", __func__);
+
+ mark_nonblock(fds[0]);
+ mark_nonblock(fds[1]);
+ if (fcntl(fds[0], F_SETFD, FD_CLOEXEC) == -1 ||
+ fcntl(fds[1], F_SETFD, FD_CLOEXEC) == -1)
+ fatal("%s: fcntl F_SETFD", __func__);
pa->pp_pipes[dst][j] = fds[0];
pb->pp_pipes[src][i] = fds[1];