fix concurrent starts of NuGet.exe'
[teamcity/dotNetPackagesSupport.git] / nuget-extensions / nuget-runner / src / NuGetRunMutex.cs
1 using System.Threading;\r
2 \r
3 namespace JetBrains.TeamCity.NuGetRunner\r
4 {\r
5   public class NuGetRunMutex\r
6   {\r
7     public NuGetRunMutex(NuGetRunner runner)\r
8     {\r
9       var m = new Mutex(false, "JetBrains.TeamCity.NuGet.RunMutex");\r
10       runner.BeforeNuGetStarted += (_, __) => m.WaitOne();\r
11       runner.AfterNuGetFinished += (_, __) => m.ReleaseMutex();\r
12     }\r
13   }\r
14 }