Module Name: src Committed By: sjg Date: Wed Apr 1 01:03:55 UTC 2015
Modified Files: src/usr.bin/make: meta.c Log Message: Close child's reference to meta file. To generate a diff of this commit: cvs rdiff -u -r1.36 -r1.37 src/usr.bin/make/meta.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/usr.bin/make/meta.c diff -u src/usr.bin/make/meta.c:1.36 src/usr.bin/make/meta.c:1.37 --- src/usr.bin/make/meta.c:1.36 Thu Nov 6 01:36:57 2014 +++ src/usr.bin/make/meta.c Wed Apr 1 01:03:55 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: meta.c,v 1.36 2014/11/06 01:36:57 sjg Exp $ */ +/* $NetBSD: meta.c,v 1.37 2015/04/01 01:03:55 sjg Exp $ */ /* * Implement 'meta' mode. @@ -659,17 +659,21 @@ meta_job_child(Job *job) { #ifdef USE_FILEMON BuildMon *pbm; - pid_t pid; if (job != NULL) { pbm = &job->bm; } else { pbm = &Mybm; } - pid = getpid(); - if (pbm->mfp != NULL && useFilemon) { - if (ioctl(pbm->filemon_fd, FILEMON_SET_PID, &pid) < 0) { - err(1, "Could not set filemon pid!"); + if (pbm->mfp != NULL) { + close(fileno(pbm->mfp)); + if (useFilemon) { + pid_t pid; + + pid = getpid(); + if (ioctl(pbm->filemon_fd, FILEMON_SET_PID, &pid) < 0) { + err(1, "Could not set filemon pid!"); + } } } #endif