From 30a39288e41042174d009919ac210bce19218ee5 Mon Sep 17 00:00:00 2001 From: "David E. O'Brien" Date: Tue, 5 Jun 2012 17:36:28 +0000 Subject: [PATCH] Correct examples to the latest version I had. --- share/man/man4/filemon.4 | 7 ++++--- tools/regression/filemon/filemontest.c | 17 +++++++++++------ 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/share/man/man4/filemon.4 b/share/man/man4/filemon.4 index e8b24bfd99e7..9105eca2bde4 100644 --- a/share/man/man4/filemon.4 +++ b/share/man/man4/filemon.4 @@ -127,18 +127,19 @@ open_filemon(void) O_CREAT | O_WRONLY | O_TRUNC, DEFFILEMODE)) == -1) err(1, "open(filemon.out)"); - if (ioctl(fm_fd, FILEMON_SET_FD, &fm_log) < 0) + if (ioctl(fm_fd, FILEMON_SET_FD, &fm_log) == -1) 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 ((child = fork()) == 0) { + child = getpid(); + if (ioctl(fm_fd, FILEMON_SET_PID, &child) == -1) + err(1, "Cannot set filemon PID"); /* Do something here. */ return 0; } else { - if (ioctl(fm_fd, FILEMON_SET_PID, &child) < 0) - err(1, "Cannot set filemon PID"); wait(&child); close(fm_fd); } diff --git a/tools/regression/filemon/filemontest.c b/tools/regression/filemon/filemontest.c index 7962149837c6..6f0254746b55 100644 --- a/tools/regression/filemon/filemontest.c +++ b/tools/regression/filemon/filemontest.c @@ -54,22 +54,27 @@ main(void) { if ((fm_log = mkstemp(log_name)) == -1) err(1, "mkstemp(%s)", log_name); - if (ioctl(fm_fd, FILEMON_SET_FD, &fm_log) < 0) + if (ioctl(fm_fd, FILEMON_SET_FD, &fm_log) == -1) 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 ((child = fork()) == 0) { + switch (child = fork()) { + case 0: + child = getpid(); + if (ioctl(fm_fd, FILEMON_SET_PID, &child) == -1) + err(1, "Cannot set filemon PID to %d", child); system("./test_script.sh"); - return 0; - } else { - if (ioctl(fm_fd, FILEMON_SET_PID, &child) < 0) - err(1, "Cannot set filemon PID"); + break; + case -1: + err(1, "Cannot fork"); + default: wait(&child); close(fm_fd); // printf("Results in %s\n", log_name); + break; } return 0; }