Skip to content

Commit 0f3f1a5

Browse files
Merge pull request #107 from xcomponent/FixDispose
Prevent Dispose from throwing Exceptions
2 parents 6b5c4f0 + 71c3c0c commit 0f3f1a5

File tree

2 files changed

+12
-5
lines changed

2 files changed

+12
-5
lines changed

ReactiveXComponent/RabbitMq/RabbitMqSubscriber.cs

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -298,12 +298,19 @@ private void Dispose(bool disposing)
298298
// clear managed resources
299299
foreach (var subscriberInfo in _subscribersDico.Values)
300300
{
301-
if (subscriberInfo.Channel.IsOpen)
301+
try
302302
{
303303
subscriberInfo.Channel.ModelShutdown -= ChannelOnModelShutdown;
304-
subscriberInfo.Channel.BasicCancel(subscriberInfo.Subscriber.ConsumerTag);
304+
if (subscriberInfo.Channel.IsOpen)
305+
{
306+
subscriberInfo.Channel.BasicCancel(subscriberInfo.Subscriber.ConsumerTag);
307+
}
305308
}
306-
309+
catch (Exception)
310+
{
311+
// Don't throw exception in Dispose
312+
}
313+
307314
subscriberInfo.Channel.Dispose();
308315

309316
foreach (var handler in subscriberInfo.Handlers)

ReactiveXComponent/WebSocket/WebSocketClient.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -151,8 +151,8 @@ private void Dispose(bool disposing)
151151
_webSocket.Error -= WebSocketOnError;
152152
_webSocket.MessageReceived -= WebSocketOnMessageReceived;
153153

154-
_socketOpenEvent.Dispose();
155-
_socketCloseEvent.Dispose();
154+
_socketOpenEvent?.Dispose();
155+
_socketCloseEvent?.Dispose();
156156
}
157157

158158
// clear unmanaged resources

0 commit comments

Comments
 (0)