diff options
author | Bjørn Christian Seime <bjorncs@yahoo-inc.com> | 2017-06-14 20:05:20 +0200 |
---|---|---|
committer | Bjørn Christian Seime <bjorncs@yahoo-inc.com> | 2017-06-15 10:59:16 +0200 |
commit | 96b644bf817b2b789d882008166793bd177c35c0 (patch) | |
tree | 743ea0dd0522556f3f5532a767a06bbe63478c6c /configgen | |
parent | 65a9c242caf0ad4e9d1d96c2faa7567b07b0ecd5 (diff) |
Fix race condition in config maven plugin
The race occur during Maven parallel build where multiple threads will
race to create the output directory.
Diffstat (limited to 'configgen')
-rw-r--r-- | configgen/src/main/scala/com/yahoo/config/codegen/JavaClassBuilder.scala | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/configgen/src/main/scala/com/yahoo/config/codegen/JavaClassBuilder.scala b/configgen/src/main/scala/com/yahoo/config/codegen/JavaClassBuilder.scala index c346338e543..f2ee4f74157 100644 --- a/configgen/src/main/scala/com/yahoo/config/codegen/JavaClassBuilder.scala +++ b/configgen/src/main/scala/com/yahoo/config/codegen/JavaClassBuilder.scala @@ -166,7 +166,9 @@ object JavaClassBuilder { val subDirs: Array[String] = (PackagePrefix + namespace).split("""\.""") for (subDir <- subDirs) { dir = new File(dir, subDir) - if (!dir.isDirectory && !dir.mkdir) throw new CodegenRuntimeException("Could not create " + dir.getPath) + this.synchronized { + if (!dir.isDirectory && !dir.mkdir) throw new CodegenRuntimeException("Could not create " + dir.getPath) + } } dir } |