diff options
author | obrien <obrien@FreeBSD.org> | 2012-06-05 17:36:28 +0000 |
---|---|---|
committer | obrien <obrien@FreeBSD.org> | 2012-06-05 17:36:28 +0000 |
commit | 5bfb5484b949f9e2bfff3af3622d69ffb4aab60e (patch) | |
tree | eddd865de82c10196113fa1816c6cc3b683b62b6 | |
parent | bd7c494553b21d5d94f2a40354ce0870d76380ad (diff) | |
download | FreeBSD-src-5bfb5484b949f9e2bfff3af3622d69ffb4aab60e.zip FreeBSD-src-5bfb5484b949f9e2bfff3af3622d69ffb4aab60e.tar.gz |
Correct examples to the latest version I had.
-rw-r--r-- | share/man/man4/filemon.4 | 7 | ||||
-rw-r--r-- | 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 e8b24bf..9105eca 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 7962149..6f02547 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; } |