When choosing the number of Task to create for a PLinq query, check if we are already...
authorJérémie Laval <jeremie.laval@gmail.com>
Wed, 16 Feb 2011 12:59:22 +0000 (12:59 +0000)
committerJérémie Laval <jeremie.laval@gmail.com>
Wed, 16 Feb 2011 13:14:13 +0000 (13:14 +0000)
mcs/class/System.Core/System.Linq.Parallel/ParallelExecuter.cs

index 380f68ceea9028d717dbbb3c7cd8309e1feddb01..44ad177a3b79df586abb4dc70f1faebb1a737287 100644 (file)
@@ -76,7 +76,7 @@ namespace System.Linq.Parallel
 
                internal static int GetBestWorkerNumber (bool blocking)
                {
-                       return blocking ? Environment.ProcessorCount + 1 : Environment.ProcessorCount;
+                       return blocking && Task.CurrentId == null ? Environment.ProcessorCount + 1 : Environment.ProcessorCount;
                }
 
                internal static Task[] Process<TSource, TElement> (QueryBaseNode<TSource> node,