This repository was archived by the owner on Jun 21, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Make shared MEF component constructors free-threaded #1689
Merged
Merged
Changes from all commits
Commits
Show all changes
44 commits
Select commit
Hold shift + click to select a range
2ca2669
Fire events on Main using JoinableTaskFactory
jcansdale ca0135d
Make constructor free-threaded
jcansdale 5ca767a
Use JoinableTaskCollection to wait for tasks
jcansdale efca9a5
Add Microsoft.VisualStudio.Threading references
jcansdale 5d304d1
Don't call IServiceProvider.GetService in constructor
jcansdale 0b749dc
Make testing constructor take Lazy<DTE>
jcansdale 4d4bc3e
Give JoinableTaskCollection a DisplayName
jcansdale d0f9aa3
Factor out OnActiveRepositorySet/OnStatusChanged
jcansdale a589a4a
Merge branch 'master' into fixes/1688-initialize-free-threaded
jcansdale 999a318
Call GetService and fire events on Main thread
jcansdale de8a9de
Log exceptions from InitializeAsync
jcansdale 9787723
Add JoinableTaskCollection with DisplayName
jcansdale 354a6c6
Merge branch 'master' into fixes/1688-initialize-free-threaded
jcansdale e59d21f
Keep CA happy
jcansdale 1d961d2
No need for ObserveOn with TeamExplorerContext
jcansdale d0b9775
Add exception logging for RepoChanged
jcansdale dcfc42d
Use SuppressMessage for unused in VS2015 statusBar
jcansdale 13f7a0c
Merge branch 'master' into fixes/1688-initialize-free-threaded
jcansdale f77b2b0
Use JoinableTaskFactory to call UpdateSearchHost
jcansdale 47e5a37
Don't default to creating new JoinableTaskContext
jcansdale 209b9bc
Clean up usings
jcansdale 310ca16
Revert "Use JoinableTaskFactory to call UpdateSearchHost"
jcansdale e8c3cf3
Use AsyncLazy<DTE> instead of Lazy<DTE>
jcansdale 7b35e81
Set ActiveRepo asynchronously using RunAsync
jcansdale 299ab20
Add JoinTillEmpty method that won't deadlock
jcansdale 5cde509
Add FileAndForget method to log exceptions
jcansdale b13f332
Fire TeamExplorerContext events on thread pool
jcansdale 67c08a5
Use FileAndForget to log exceptions
jcansdale 38c2683
Use FileAndForget to log UpdateContent exceptions
jcansdale 29c1729
Fix failing SetActiveRepository_CheckWasSet test
jcansdale 6813172
Avoid overlapping calls to RefreshAsync
jcansdale 7c21bda
Use JoinAsync to await any previous refresh
jcansdale 543532e
Rename to LogAndForget and add xmldoc comments
jcansdale b2967de
Use LogAndForget
jcansdale eadc4c7
Merge branch 'master' into fixes/1688-initialize-free-threaded
grokys 606dd68
Move LogAndForget to TaskExtensions
jcansdale 38c65da
Rename LogAndForget to Simply Forget
jcansdale bf46b6e
Move IVSGitExt null check to top
jcansdale 3c8ed54
Use Forget(ILogger) from TaskExtensions
jcansdale bbcba37
Merge branch 'master' into fixes/1688-initialize-free-threaded
jcansdale a2cc5e8
Add logging for Forget(this Task task)
jcansdale bb7c672
Resolve merge conflicts
jcansdale d29ce2f
Restore reference to MS.VisualStudio.Threading
jcansdale 450343d
Merge branch 'master' into fixes/1688-initialize-free-threaded
grokys File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,4 +1,5 @@ | ||
| <?xml version="1.0" encoding="utf-8"?> | ||
| <packages> | ||
| <package id="Microsoft.VisualStudio.Shell.Immutable.10.0" version="10.0.30319" targetFramework="net461" /> | ||
| <package id="Serilog" version="2.5.0" targetFramework="net461" /> | ||
| </packages> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,4 +1,3 @@ | ||
| using System; | ||
| using Serilog; | ||
|
|
||
| namespace GitHub.Logging | ||
|
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is it important that this calling method block during the execution of those property change events? If not, consider using JTF.RunAsync instead to avoid blocking a threadpool thread. If you do, you may want to find a way to track and report exceptions thrown if you care.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm glad you spotted this. It would have changed the behavior from the previous
SynchronizationContext.Post(...)! I missed the fact thatPostis asynchranous.