From bf0ab3e8a13edbd339ba5feb26af656fbcff9b1a Mon Sep 17 00:00:00 2001 From: Quincy Tse Date: Sun, 30 May 2010 20:53:25 -0700 Subject: [PATCH] bug 828: PacketSocket::Close does not unregister protocol handler --- src/node/packet-socket.cc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/node/packet-socket.cc b/src/node/packet-socket.cc index 51b3fc2e4..9ca73dc42 100644 --- a/src/node/packet-socket.cc +++ b/src/node/packet-socket.cc @@ -185,6 +185,10 @@ PacketSocket::Close(void) m_errno = ERROR_BADF; return -1; } + else if (m_state == STATE_BOUND || m_state == STATE_CONNECTED) + { + m_node->UnregisterProtocolHandler (MakeCallback (&PacketSocket::ForwardUp, this)); + } m_state = STATE_CLOSED; m_shutdownSend = true; m_shutdownRecv = true;