mirror of
https://github.com/PepperDash/PepperDashCore.git
synced 2026-01-11 19:44:44 +00:00
fix: added a finally block
added a finally block in case all else fails to switch out the connection status
This commit is contained in:
@@ -279,7 +279,7 @@ namespace PepperDash.Core
|
||||
|
||||
Debug.Console(1, this, "Ingoring connection request while connect/disconnect in progress...");
|
||||
if (!connectTimer.Disposed && AutoReconnect)
|
||||
connectTimer.Reset(10000);
|
||||
connectTimer.Reset(AutoReconnectIntervalMs);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -378,21 +378,30 @@ namespace PepperDash.Core
|
||||
|
||||
private void DisconnectInternal(SocketStatus status)
|
||||
{
|
||||
DisposeOfStream();
|
||||
DisposeOfClient();
|
||||
DisposeOfAuthMethods();
|
||||
|
||||
Debug.Console(1, this, Debug.ErrorLogLevel.Notice, "Disconnect Complete");
|
||||
ClientStatus = status;
|
||||
|
||||
DisposeOfTimer(disconnectTimer);
|
||||
if (!connectTimer.Disposed && AutoReconnect)
|
||||
try
|
||||
{
|
||||
Debug.Console(1, this, "Autoreconnect try again soon");
|
||||
connectTimer.Reset(AutoReconnectIntervalMs);
|
||||
}
|
||||
DisposeOfStream();
|
||||
DisposeOfClient();
|
||||
DisposeOfAuthMethods();
|
||||
|
||||
Interlocked.Exchange(ref connectionProgress, ConnectionProgress.Idle);
|
||||
Debug.Console(1, this, Debug.ErrorLogLevel.Notice, "Disconnect Complete");
|
||||
ClientStatus = status;
|
||||
|
||||
DisposeOfTimer(disconnectTimer);
|
||||
if (!connectTimer.Disposed && AutoReconnect)
|
||||
{
|
||||
Debug.Console(1, this, "Autoreconnect try again soon");
|
||||
connectTimer.Reset(AutoReconnectIntervalMs);
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Debug.Console(1, this, Debug.ErrorLogLevel.Notice, "Caught a general exception in disconnect:{0}", ex);
|
||||
}
|
||||
finally
|
||||
{
|
||||
Interlocked.Exchange(ref connectionProgress, ConnectionProgress.Idle);
|
||||
}
|
||||
}
|
||||
|
||||
private void DisposeOfAuthMethods()
|
||||
|
||||
Reference in New Issue
Block a user