FD_CLOFORK
if ((fdflags & FD_CLOFORK) != 0) {
{ FD_CLOFORK, "|FD_CLOFORK" }
dflags |= FD_CLOFORK;
#define PRT_CLOFORK_GETFD FD_CLOFORK
#define PRT_DUP3_GETFD (FD_CLOFORK | FD_CLOEXEC)
.clo_flags = FD_CLOFORK,
.clo_flags = FD_CLOEXEC | FD_CLOFORK,
.clo_flags = FD_CLOFORK,
.clo_flags = FD_CLOEXEC | FD_CLOFORK,
.clo_flags = FD_CLOFORK,
.clo_flags = FD_CLOEXEC | FD_CLOFORK,
bool fail = child && (rt->crt_flags & FD_CLOFORK) != 0;
.clo_flags = FD_CLOFORK,
.clo_flags = FD_CLOEXEC | FD_CLOFORK,
.clo_flags = FD_CLOFORK,
.clo_flags = FD_CLOEXEC | FD_CLOFORK,
.clo_flags = FD_CLOFORK,
.clo_flags = FD_CLOEXEC | FD_CLOFORK,
.clo_flags = FD_CLOFORK,
.clo_flags = FD_CLOEXEC | FD_CLOFORK,
.clo_flags = FD_CLOFORK,
.clo_flags = FD_CLOEXEC | FD_CLOFORK,
.clo_flags = FD_CLOFORK,
.clo_flags = FD_CLOEXEC | FD_CLOFORK,
.clo_flags = FD_CLOFORK,
.clo_flags = FD_CLOEXEC | FD_CLOFORK,
if ((oclo_rtdata[i].crt_flags & FD_CLOFORK) == 0)
if ((c->clo_flags & FD_CLOFORK) != 0)
oclo_setfd_common(c, FD_CLOFORK);
oclo_setfd_common(c, FD_CLOFORK | FD_CLOEXEC);
oclo_fdup_common(c, FD_CLOFORK, F_DUPFD_CLOFORK);
oclo_fdup_common(c, FD_CLOFORK, F_DUP2FD_CLOFORK);
oclo_fdup_common(c, FD_CLOFORK, F_DUP3FD);
oclo_fdup_common(c, FD_CLOEXEC | FD_CLOFORK, F_DUP3FD);
if ((targ_flags & FD_CLOFORK) != 0)
oclo_dup_common(c, FD_CLOFORK, true);
oclo_dup_common(c, FD_CLOEXEC | FD_CLOFORK, true);
if ((c->clo_flags & FD_CLOFORK) != 0)
if ((c->clo_flags & FD_CLOFORK) != 0)
if ((c->clo_flags & FD_CLOFORK) != 0)
if ((targ_flags & FD_CLOFORK) != 0)
oclo_accept_common(c, FD_CLOFORK, true);
oclo_accept_common(c, FD_CLOEXEC | FD_CLOFORK, true);
if ((c->clo_flags & FD_CLOFORK) != 0)
if ((targ_flags & FD_CLOFORK) != 0)
oclo_rights_common(c, FD_CLOFORK);
oclo_rights_common(c, FD_CLOEXEC | FD_CLOFORK);
.clo_flags = FD_CLOFORK,
.clo_flags = FD_CLOEXEC | FD_CLOFORK,
.clo_flags = FD_CLOFORK,
.clo_flags = FD_CLOEXEC | FD_CLOFORK,
.clo_flags = FD_CLOFORK,
.clo_flags = FD_CLOEXEC | FD_CLOFORK,
.clo_flags = FD_CLOFORK,
.clo_flags = FD_CLOEXEC | FD_CLOFORK,
.clo_flags = FD_CLOFORK,
.clo_flags = FD_CLOEXEC | FD_CLOFORK,
.clo_flags = FD_CLOFORK,
.clo_flags = FD_CLOEXEC | FD_CLOFORK,
.clo_flags = FD_CLOFORK,
.clo_flags = FD_CLOEXEC | FD_CLOFORK,
.clo_flags = FD_CLOFORK,
.clo_flags = FD_CLOEXEC | FD_CLOFORK,
.clo_flags = FD_CLOFORK,
.clo_flags = FD_CLOEXEC | FD_CLOFORK,
.clo_flags = FD_CLOFORK,
.clo_flags = FD_CLOEXEC | FD_CLOFORK,
.clo_flags = FD_CLOFORK,
.clo_flags = FD_CLOEXEC | FD_CLOFORK,
.clo_flags = FD_CLOFORK,
.clo_flags = FD_CLOEXEC | FD_CLOFORK,
.clo_flags = FD_CLOFORK,
.clo_flags = FD_CLOEXEC | FD_CLOFORK,
.clo_flags = FD_CLOFORK,
.clo_flags = FD_CLOEXEC | FD_CLOFORK,
.clo_flags = FD_CLOFORK,
.clo_flags = FD_CLOEXEC | FD_CLOFORK,
.clo_flags = FD_CLOFORK,
.clo_flags = FD_CLOEXEC | FD_CLOFORK,
.clo_flags = FD_CLOFORK,
.clo_flags = FD_CLOEXEC | FD_CLOFORK,
(FD_CLOEXEC | FD_CLOFORK) + 1)) {
FD_CLOEXEC | FD_CLOFORK, &errstr, 0);
bool clofork = (exp_flags & FD_CLOFORK) != 0;
exp_flags &= ~FD_CLOFORK;
if (clofork && (flags & FD_CLOFORK) != 0) {
f_setfd_or(fd, FD_CLOFORK);
f_setfd_or(fd, FD_CLOFORK);
if (orig_flags & (FD_CLOEXEC | FD_CLOFORK)) {
f_setfd_or(nfd, orig_flags & (FD_CLOEXEC | FD_CLOFORK));
f_setfd_or(nfd, FD_CLOFORK);
flags &= (FD_CLOEXEC | FD_CLOFORK);
} else if ((ufp->uf_flag & FD_CLOFORK) != 0) {
ufp->uf_flag &= ~FD_CLOFORK;
if ((pufp->uf_flag & FD_CLOFORK) == 0) {
} else if ((pufp->uf_flag & FD_CLOFORK) != 0) {
if ((arg1 & ~(FD_CLOEXEC | FD_CLOFORK)) != 0) {
f_setfd_or(retval, FD_CLOFORK);
f_setfd_or(iarg, FD_CLOFORK);
f_setfd_or(fd, FD_CLOFORK);
f_setfd_or(fd, FD_CLOFORK);
f_setfd_or(fd1, FD_CLOFORK);
f_setfd_or(fd2, FD_CLOFORK);