diff options
author | Martin Odersky <odersky@gmail.com> | 2015-11-08 21:03:11 +0100 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2015-11-09 15:45:41 +0100 |
commit | 137715529d51e489c291e4e881842ac45532e971 (patch) | |
tree | 2ac74c7d67e58251baaeebccc8b0988adf6f5f58 /src/dotty/tools/io | |
parent | 4007e71ecaf17d794ba5fc8aa8d2700efc3e3263 (diff) | |
download | dotty-137715529d51e489c291e4e881842ac45532e971.tar.gz dotty-137715529d51e489c291e4e881842ac45532e971.tar.bz2 dotty-137715529d51e489c291e4e881842ac45532e971.zip |
Make dir.list synchronized.
Just a grap at straws to get a handle for the
missing reference problem.
Diffstat (limited to 'src/dotty/tools/io')
-rw-r--r-- | src/dotty/tools/io/ClassPath.scala | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/dotty/tools/io/ClassPath.scala b/src/dotty/tools/io/ClassPath.scala index 0d1402430..e30eca492 100644 --- a/src/dotty/tools/io/ClassPath.scala +++ b/src/dotty/tools/io/ClassPath.scala @@ -25,13 +25,16 @@ import language.postfixOps * @author Stepan Koltsov */ object ClassPath { + /** Expand single path entry */ private def expandS(pattern: String): List[String] = { val wildSuffix = File.separator + "*" /** Get all subdirectories, jars, zips out of a directory. */ - def lsDir(dir: Directory, filt: String => Boolean = _ => true) = - dir.list filter (x => filt(x.name) && (x.isDirectory || isJarOrZip(x))) map (_.path) toList + def lsDir(dir: Directory, filt: String => Boolean = _ => true) = { + val files = synchronized(dir.list) + files filter (x => filt(x.name) && (x.isDirectory || isJarOrZip(x))) map (_.path) toList + } def basedir(s: String) = if (s contains File.separator) s.substring(0, s.lastIndexOf(File.separator)) |