_tcs.Task.Wait();\r
}\r
\r
- public void Set() { _tcs.TrySetResult(true); }\r
+ public void Set()\r
+ {\r
+ var tcs = _tcs;\r
+ Task.Factory.StartNew(s => ((TaskCompletionSource<bool>)s).TrySetResult(true),\r
+ tcs, CancellationToken.None, TaskCreationOptions.PreferFairness, TaskScheduler.Default);\r
+ tcs.Task.Wait(); \r
+ }\r
\r
public void Reset()\r
{\r