Hi,
There seems to be a bug in AsyncLock.cs, Line 125 where _parent._reentrancy.Release() is called, but it is also called in Line 132 and Line 137, so this call is wrong.
Also in Line 96, Line 116, Line 205, Line 222, instead of _parent._reentrancy.Wait(timeout); it should say if (!_parent._reentrancy.Wait(timeout)) return null; or if (!await _parent._reentrancy.WaitAsync(remainder).ConfigureAwait(false)) return null; to cover the case the wait reentrancy times out.
Blessings & Greetings,
Simon Egli
Hi,
There seems to be a bug in AsyncLock.cs, Line 125 where
_parent._reentrancy.Release()is called, but it is also called in Line 132 and Line 137, so this call is wrong.Also in Line 96, Line 116, Line 205, Line 222, instead of
_parent._reentrancy.Wait(timeout);it should sayif (!_parent._reentrancy.Wait(timeout)) return null;orif (!await _parent._reentrancy.WaitAsync(remainder).ConfigureAwait(false)) return null;to cover the case the wait reentrancy times out.Blessings & Greetings,
Simon Egli