Merge pull request #16 from Havret/AMQNET-597
AMQNET-597: Remotely closed session is not removed from AmqpConnection
diff --git a/src/NMS.AMQP/Provider/Amqp/AmqpSession.cs b/src/NMS.AMQP/Provider/Amqp/AmqpSession.cs
index 7862e5b..4f8c9e5 100644
--- a/src/NMS.AMQP/Provider/Amqp/AmqpSession.cs
+++ b/src/NMS.AMQP/Provider/Amqp/AmqpSession.cs
@@ -63,7 +63,10 @@
});
underlyingSession.AddClosedCallback((sender, error) =>
{
- tcs.TrySetException(ExceptionSupport.GetException(error));
+ if (!tcs.TrySetException(ExceptionSupport.GetException(error)))
+ {
+ Connection.RemoveSession(sessionInfo.Id);
+ }
});
return tcs.Task;
}
@@ -123,7 +126,7 @@
{
consumers.TryRemove(consumerId, out _);
}
-
+
public void RemoveProducer(Id producerId)
{
producers.TryRemove(producerId, out _);