Skip to content

Commit 2a9d021

Browse files
author
Emile Joubert
committed
merge bug21817 into default
2 parents 5cd4e14 + 1bfcdd4 commit 2a9d021

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

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

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -578,6 +578,8 @@ public void NotifyHeartbeatThread()
578578

579579
public void MainLoop()
580580
{
581+
Thread.GetDomain().DomainUnload += new EventHandler(HandleDomainUnload);
582+
581583
bool shutdownCleanly = false;
582584
try
583585
{
@@ -682,7 +684,16 @@ public void FinishClose()
682684
m_model0.SetCloseReason(m_closeReason);
683685
m_model0.FinishClose();
684686
}
685-
687+
688+
/// <remarks>
689+
/// We need to close the socket, otherwise attempting to unload the domain
690+
/// could cause a CannotUnloadAppDomainException
691+
/// </remarks>
692+
public void HandleDomainUnload(object sender, EventArgs ea)
693+
{
694+
Abort(CommonFraming.Constants.InternalError, "Domain Unload");
695+
}
696+
686697
public bool HardProtocolExceptionHandler(HardProtocolException hpe)
687698
{
688699
if (SetCloseReason(hpe.ShutdownReason))

0 commit comments

Comments
 (0)