diff options
-rw-r--r-- | src/library/scala/collection/parallel/package.scala | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/library/scala/collection/parallel/package.scala b/src/library/scala/collection/parallel/package.scala index cf342b0203..1e545fd882 100644 --- a/src/library/scala/collection/parallel/package.scala +++ b/src/library/scala/collection/parallel/package.scala @@ -37,8 +37,11 @@ package object parallel { private[parallel] def outofbounds(idx: Int) = throw new IndexOutOfBoundsException(idx.toString) private[parallel] def getTaskSupport: TaskSupport = - if (util.Properties.isJavaAtLeast("1.6")) new ForkJoinTaskSupport - else new ThreadPoolTaskSupport + if (util.Properties.isJavaAtLeast("1.6")) { + val vendor = util.Properties.javaVmVendor + if ((vendor contains "Sun") || (vendor contains "Apple")) new ForkJoinTaskSupport + else new ThreadPoolTaskSupport + } else new ThreadPoolTaskSupport val tasksupport = getTaskSupport |