@@ -1024,8 +1024,10 @@ public void HeartbeatReadTimerCallback(object state)
1024
1024
{
1025
1025
_heartbeatReadTimer . Change ( Heartbeat * 1000 , Timeout . Infinite ) ;
1026
1026
}
1027
- } catch ( ObjectDisposedException )
1027
+ }
1028
+ catch ( ObjectDisposedException ignored )
1028
1029
{
1030
+
1029
1031
// timer is already disposed,
1030
1032
// e.g. due to shutdown
1031
1033
}
@@ -1059,7 +1061,8 @@ public void HeartbeatWriteTimerCallback(object state)
1059
1061
TerminateMainloop ( ) ;
1060
1062
FinishClose ( ) ;
1061
1063
}
1062
- } catch ( ObjectDisposedException )
1064
+ }
1065
+ catch ( ObjectDisposedException ignored )
1063
1066
{
1064
1067
// timer is already disposed,
1065
1068
// e.g. due to shutdown
@@ -1068,21 +1071,22 @@ public void HeartbeatWriteTimerCallback(object state)
1068
1071
1069
1072
protected void MaybeStopHeartbeatTimers ( )
1070
1073
{
1071
- MaybeDisposeTimer ( _heartbeatReadTimer ) ;
1072
- MaybeDisposeTimer ( _heartbeatWriteTimer ) ;
1074
+ MaybeDisposeTimer ( ref _heartbeatReadTimer ) ;
1075
+ MaybeDisposeTimer ( ref _heartbeatWriteTimer ) ;
1073
1076
}
1074
1077
1075
- private void MaybeDisposeTimer ( Timer timer )
1078
+ private void MaybeDisposeTimer ( ref Timer timer )
1076
1079
{
1077
1080
if ( timer != null )
1078
1081
{
1079
1082
try
1080
1083
{
1081
1084
timer . Change ( Timeout . Infinite , Timeout . Infinite ) ;
1082
1085
timer . Dispose ( ) ;
1083
- } catch ( ObjectDisposedException )
1086
+ }
1087
+ catch ( ObjectDisposedException ignored )
1084
1088
{
1085
- // we are shutting down, ignore
1089
+ timer = null ;
1086
1090
}
1087
1091
}
1088
1092
}
0 commit comments