Directly set the O_CLOEXEC flags via the open(2) attributes

MFC after:	1 week
This commit is contained in:
Baptiste Daroussin 2016-04-16 12:47:23 +00:00
parent 29808109ea
commit 26e736b2c0

View File

@ -161,17 +161,14 @@ main(int argc, char *argv[])
asprintf(&fmfname, "%s.filemon", fname);
if (!fmfname)
err(1, "%s.filemon", fname);
if ((fm_fd = open("/dev/filemon", O_RDWR)) == -1)
if ((fm_fd = open("/dev/filemon", O_RDWR | O_CLOEXEC)) == -1)
err(1, "open(\"/dev/filemon\", O_RDWR)");
if ((fm_log = open(fmfname, O_WRONLY | O_CREAT | O_TRUNC,
if ((fm_log = open(fmfname,
O_WRONLY | O_CREAT | O_TRUNC | O_CLOEXEC,
S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH)) == -1)
err(1, "open(%s)", fmfname);
if (ioctl(fm_fd, FILEMON_SET_FD, &fm_log) < 0)
err(1, "Cannot set filemon log file descriptor");
/* Set up these two fd's to close on exec. */
(void)fcntl(fm_fd, F_SETFD, FD_CLOEXEC);
(void)fcntl(fm_log, F_SETFD, FD_CLOEXEC);
}
if (pflg)