Project Maintenance

This commit is contained in:
Gustave Monce
2021-08-09 20:21:09 +02:00
parent 9865ef7f79
commit 847ce0506d
411 changed files with 5922 additions and 54941 deletions
+11 -17
View File
@@ -11,8 +11,7 @@ namespace MadWizard.WinUSBNet
{
internal class USBAsyncResult : IAsyncResult, IDisposable
{
private object _stateObject;
private AsyncCallback _userCallback;
private readonly AsyncCallback _userCallback;
private bool _completed;
private bool _completedSynchronously;
private ManualResetEvent _waitEvent;
@@ -21,20 +20,14 @@ namespace MadWizard.WinUSBNet
public USBAsyncResult(AsyncCallback userCallback, object stateObject)
{
_stateObject = stateObject;
AsyncState = stateObject;
_userCallback = userCallback;
_completedSynchronously = false;
_completed = false;
_waitEvent = null;
}
public object AsyncState
{
get
{
return _stateObject;
}
}
public object AsyncState { get; }
public Exception Error
{
@@ -57,7 +50,9 @@ namespace MadWizard.WinUSBNet
lock (this)
{
if (_waitEvent == null)
{
_waitEvent = new ManualResetEvent(_completed);
}
}
return _waitEvent;
}
@@ -99,17 +94,19 @@ namespace MadWizard.WinUSBNet
_completed = true;
_error = error;
_bytesTransfered = bytesTransfered;
if (_waitEvent != null)
_waitEvent.Set();
_waitEvent?.Set();
}
if (_userCallback != null)
{
if (synchronousCallback)
{
RunCallback(null);
}
else
{
ThreadPool.QueueUserWorkItem(RunCallback);
}
}
}
private void RunCallback(object state)
{
@@ -122,12 +119,9 @@ namespace MadWizard.WinUSBNet
// Cleanup managed resources
lock (this)
{
if (_waitEvent != null)
_waitEvent.Close();
_waitEvent?.Close();
}
}
}
}
}