Skip to content

Commit d97b477

Browse files
author
Lifeng Lu
committed
stop creating main thread synchronization context when running in no main thread mode.
1 parent 06c475e commit d97b477

File tree

2 files changed

+3
-3
lines changed

2 files changed

+3
-3
lines changed

src/Microsoft.VisualStudio.Threading/JoinableTask.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -320,7 +320,7 @@ internal SynchronizationContext? ApplicableJobSyncContext
320320
{
321321
get
322322
{
323-
if (this.JoinableTaskContext.IsOnMainThread)
323+
if (this.JoinableTaskContext.IsOnMainThread && !this.JoinableTaskContext.IsNoOpContext)
324324
{
325325
if (this.mainThreadJobSyncContext is null)
326326
{

src/Microsoft.VisualStudio.Threading/JoinableTaskFactory.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public partial class JoinableTaskFactory
2828
/// </summary>
2929
private readonly JoinableTaskContext owner;
3030

31-
private readonly SynchronizationContext mainThreadJobSyncContext;
31+
private readonly SynchronizationContext? mainThreadJobSyncContext;
3232

3333
/// <summary>
3434
/// The collection to add all created tasks to. May be <see langword="null" />.
@@ -71,7 +71,7 @@ internal JoinableTaskFactory(JoinableTaskContext owner, JoinableTaskCollection?
7171

7272
this.owner = owner;
7373
this.jobCollection = collection;
74-
this.mainThreadJobSyncContext = new JoinableTaskSynchronizationContext(this);
74+
this.mainThreadJobSyncContext = owner.IsNoOpContext ? null : new JoinableTaskSynchronizationContext(this);
7575
}
7676

7777
/// <summary>

0 commit comments

Comments
 (0)