Module Name: src
Committed By: sjg
Date: Wed Jan 22 21:04:29 UTC 2020
Modified Files:
src/usr.bin/make: meta.c
Log Message:
Check for filemon valid.
If meta_needed() returns FALSE, mfp and filemon will be NULL
in which case we should not call filemon_*().
To generate a diff of this commit:
cvs rdiff -u -r1.76 -r1.77 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.76 src/usr.bin/make/meta.c:1.77
--- src/usr.bin/make/meta.c:1.76 Wed Jan 22 00:26:45 2020
+++ src/usr.bin/make/meta.c Wed Jan 22 21:04:29 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: meta.c,v 1.76 2020/01/22 00:26:45 sjg Exp $ */
+/* $NetBSD: meta.c,v 1.77 2020/01/22 21:04:29 sjg Exp $ */
/*
* Implement 'meta' mode.
@@ -124,7 +124,7 @@ meta_open_filemon(BuildMon *pbm)
pbm->mon_fd = -1;
pbm->filemon = NULL;
- if (!useFilemon)
+ if (!useFilemon || !pbm->mfp)
return;
pbm->filemon = filemon_open();
@@ -701,7 +701,7 @@ meta_job_child(Job *job)
}
if (pbm->mfp != NULL) {
close(fileno(pbm->mfp));
- if (useFilemon) {
+ if (useFilemon && pbm->filemon) {
pid_t pid;
pid = getpid();
@@ -724,7 +724,7 @@ meta_job_parent(Job *job, pid_t pid)
} else {
pbm = &Mybm;
}
- if (useFilemon) {
+ if (useFilemon && pbm->filemon) {
filemon_setpid_parent(pbm->filemon, pid);
}
#endif
@@ -1686,6 +1686,8 @@ meta_compat_parent(pid_t child)
meta_job_parent(NULL, child);
close(childPipe[1]); /* child side */
outfd = childPipe[0];
+ if (!Mybm.filemon) /* no meta */
+ return;
metafd = filemon_readfd(Mybm.filemon);
maxfd = -1;