Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upGitHub is where the world builds software
Millions of developers and companies build, ship, and maintain their software on GitHub — the largest and most advanced development platform in the world.
Try really hard to avoid deadlocking GetService calls #1597
Conversation
`new ShellSettingsManager` in the PackageSettings constructor calls GetService, which might be a potential deadlock situation. Also, to avoid calls to GetService that might deadlock, cache the services we create in GitHubServiceProvider so that it returns cached instances immediately and bypasses GetService.
|
Too many conflicts. |
new ShellSettingsManagerin the PackageSettings constructor calls GetService, which might be a potential deadlock situation. Also, to avoid calls to GetService that might deadlock, cache the services we create in GitHubServiceProvider so that it returns cached instances immediately and bypasses GetService.I also fixed some other calls around the code, particularly direct calls to
ExportProvider(GitHubServiceProvider.TryGetServicedoes that for us)