Skip to content

Commit 9674068

Browse files
kjnilssonmichaelklishin
authored andcommitted
Handle potential NullReferenceException in HeartbeatReadTimerCallback
1 parent 482fa7a commit 9674068

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

projects/client/RabbitMQ.Client/src/client/impl/Connection.cs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1057,17 +1057,21 @@ public void HeartbeatReadTimerCallback(object state)
10571057
TerminateMainloop();
10581058
FinishClose();
10591059
}
1060-
else
1060+
else if(_heartbeatReadTimer != null)
10611061
{
10621062
_heartbeatReadTimer.Change(Heartbeat * 1000, Timeout.Infinite);
10631063
}
10641064
}
10651065
catch (ObjectDisposedException ignored)
10661066
{
1067-
10681067
// timer is already disposed,
10691068
// e.g. due to shutdown
10701069
}
1070+
catch (NullReferenceException)
1071+
{
1072+
// timer has already been disposed from a different thread after null check
1073+
// this event should be rare
1074+
}
10711075
}
10721076

10731077
public void HeartbeatWriteTimerCallback(object state)

0 commit comments

Comments
 (0)