summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorStephen Toub <stoub@microsoft.com>2017-01-08 13:25:17 -0500
committerGitHub <noreply@github.com>2017-01-08 13:25:17 -0500
commitc58686343b1ff49473df8c962ff30eb91025a179 (patch)
tree5232d6366cb7021fcfb6caf7bb14e8c36b5a356a /src
parentc10c1ff8e3237689212606c9aa5153beec8a1778 (diff)
downloadcoreclr-c58686343b1ff49473df8c962ff30eb91025a179.tar.gz
coreclr-c58686343b1ff49473df8c962ff30eb91025a179.tar.bz2
coreclr-c58686343b1ff49473df8c962ff30eb91025a179.zip
Remove lazy initialization of Task.CompletedTask (#8846)
Remove lazy initialization of Task.CompletedTask
Diffstat (limited to 'src')
-rw-r--r--src/mscorlib/src/System/Threading/Tasks/Task.cs18
1 files changed, 2 insertions, 16 deletions
diff --git a/src/mscorlib/src/System/Threading/Tasks/Task.cs b/src/mscorlib/src/System/Threading/Tasks/Task.cs
index 24a57fae03..b385f06ed0 100644
--- a/src/mscorlib/src/System/Threading/Tasks/Task.cs
+++ b/src/mscorlib/src/System/Threading/Tasks/Task.cs
@@ -147,7 +147,6 @@ namespace System.Threading.Tasks
private static StackGuard t_stackGuard; // The stack guard object for this thread
internal static int s_taskIdCounter; //static counter used to generate unique task IDs
- private readonly static TaskFactory s_factory = new TaskFactory();
private volatile int m_taskId; // this task's unique ID. initialized only if it is ever requested
@@ -1615,23 +1614,10 @@ namespace System.Threading.Tasks
/// of <see cref="System.Threading.Tasks.TaskFactory"/>, as would result from using
/// the default constructor on TaskFactory.
/// </remarks>
- public static TaskFactory Factory { get { return s_factory; } }
-
- /// <summary>A task that's already been completed successfully.</summary>
- private static Task s_completedTask;
+ public static TaskFactory Factory { get; } = new TaskFactory();
/// <summary>Gets a task that's already been completed successfully.</summary>
- /// <remarks>May not always return the same instance.</remarks>
- public static Task CompletedTask
- {
- get
- {
- var completedTask = s_completedTask;
- if (completedTask == null)
- s_completedTask = completedTask = new Task(false, (TaskCreationOptions)InternalTaskOptions.DoNotDispose, default(CancellationToken)); // benign initialization race condition
- return completedTask;
- }
- }
+ public static Task CompletedTask { get; } = new Task(false, (TaskCreationOptions)InternalTaskOptions.DoNotDispose, default(CancellationToken));
/// <summary>
/// Provides an event that can be used to wait for completion.