fix: ensure proper disposal of help request timeout timer and improve logging

This commit is contained in:
Neil Dorin
2025-11-26 11:02:31 -07:00
parent 5de1e2d7bb
commit 4f5d4ef87a
2 changed files with 13 additions and 7 deletions

View File

@@ -1846,6 +1846,7 @@ namespace PepperDash.Essentials.Core.Fusion
if (_helpRequestTimeoutTimer != null) if (_helpRequestTimeoutTimer != null)
{ {
_helpRequestTimeoutTimer.Stop(); _helpRequestTimeoutTimer.Stop();
_helpRequestTimeoutTimer.Elapsed -= OnTimedEvent;
_helpRequestTimeoutTimer.Dispose(); _helpRequestTimeoutTimer.Dispose();
_helpRequestTimeoutTimer = null; _helpRequestTimeoutTimer = null;
} }
@@ -1943,13 +1944,7 @@ namespace PepperDash.Essentials.Core.Fusion
private void OnTimedEvent(object source, ElapsedEventArgs e) private void OnTimedEvent(object source, ElapsedEventArgs e)
{ {
this.LogInformation("Help request timeout reached for room '{0}'. Cancelling help request.",
Room.Name);
CancelHelpRequest(); CancelHelpRequest();
_helpRequestTimeoutTimer.Stop();
_helpRequestTimeoutTimer.Dispose();
_helpRequestTimeoutTimer = null;
} }
/// <inheritdoc /> /// <inheritdoc />
@@ -1964,6 +1959,17 @@ namespace PepperDash.Essentials.Core.Fusion
HelpRequestStatusFeedback.FireUpdate(); HelpRequestStatusFeedback.FireUpdate();
Debug.LogMessage(LogEventLevel.Information, this, "Help request cancelled for room '{0}'", Room.Name); Debug.LogMessage(LogEventLevel.Information, this, "Help request cancelled for room '{0}'", Room.Name);
} }
if(_helpRequestTimeoutTimer != null)
{
_helpRequestTimeoutTimer.Stop();
_helpRequestTimeoutTimer.Elapsed -= OnTimedEvent;
_helpRequestTimeoutTimer.Dispose();
_helpRequestTimeoutTimer = null;
this.LogDebug("Help request timeout timer stopped for room '{0}'.",
Room.Name);
}
} }
/// <inheritdoc /> /// <inheritdoc />