This is an automated email from the ASF dual-hosted git repository. asekretenko pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/mesos.git
The following commit(s) were added to refs/heads/master by this push: new 9d68993 Added a workaround for `javah -d java/jni` race for creating `java/jni`. 9d68993 is described below commit 9d68993c77b621c7e88dcdcef1b383d94d7362c7 Author: Andrei Sekretenko <asekrete...@apache.org> AuthorDate: Wed May 27 13:04:02 2020 +0200 Added a workaround for `javah -d java/jni` race for creating `java/jni`. This is a workaround for the race between concurrent runs of `javah` trying to create the same output directory. Review: https://reviews.apache.org/r/72549 --- src/Makefile.am | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/Makefile.am b/src/Makefile.am index 0b18f95..08735fd 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -2167,6 +2167,14 @@ BUILT_SOURCES += $(nodist_libjava_la_SOURCES) # of the java file. Unlike 'javah', 'javac -h' requires java sources to # generate headers. java/jni/%.h: $(MESOS_JAR) + # NOTE: javah has a race between concurrent runs trying to create + # the same output directory: + # http://hg.openjdk.java.net/jdk8/jdk8/langtools/file/1ff9d5118aae/src/share/classes/com/sun/tools/javah/JavahTask.java#l475 + # Thus, we have to create the output directory here. + # + # TODO(asekretenko): Replace `javah` (deprecated as of JDK 9+) + # with `javac` when switching to a newer JDK. + mkdir -p java/jni if HAS_JAVAH $(JAVA_HOME)/bin/javah -d java/jni \ -classpath $(MESOS_JAR):@PROTOBUF_JAR@ \