Revision 174bbb6e trunk/Pithos.Core/Agents/AsyncManualResetEvent.cs

b/trunk/Pithos.Core/Agents/AsyncManualResetEvent.cs
87 87
            while (true)
88 88
            {
89 89
                var tcs = _tcs;
90
                if (!tcs.Task.IsCompleted ||
91
                    Interlocked.CompareExchange(ref _tcs, new TaskCompletionSource<bool>(), tcs) == tcs)
90
                if (!tcs.Task.IsCompleted)
91
                    return;
92
#pragma warning disable 420
93
                if (Interlocked.CompareExchange(ref _tcs, new TaskCompletionSource<bool>(), tcs) == tcs)
94
#pragma warning restore 420
92 95
                    return;
93 96
            }
94 97
        }

Also available in: Unified diff