r3233 - in trunk/libmsip: include/libmsip source
erik at minisip.org
erik at minisip.org
Wed Mar 7 23:12:35 CET 2007
Author: erik
Date: 2007-03-07 23:12:34 +0100 (Wed, 07 Mar 2007)
New Revision: 3233
Modified:
trunk/libmsip/include/libmsip/SipSocketServer.h
trunk/libmsip/source/SipLayerTransport.cxx
trunk/libmsip/source/SipSocketServer.cxx
Log:
* libmsip: Break SipSocketServer internal reference loop
SipSocketServer objects reference themselve (the subclass
is the handler registred to the superclass).
Modified: trunk/libmsip/include/libmsip/SipSocketServer.h
===================================================================
--- trunk/libmsip/include/libmsip/SipSocketServer.h 2007-03-07 21:34:40 UTC (rev 3232)
+++ trunk/libmsip/include/libmsip/SipSocketServer.h 2007-03-07 22:12:34 UTC (rev 3233)
@@ -45,6 +45,7 @@
public:
SipSocketServer(MRef<SipLayerTransport*> r, MRef<Socket*> sock );
virtual ~SipSocketServer();
+ void free();
std::string getMemObjectType() const {return "SipSocketServer";}
MRef<Socket *> getSocket() const;
Modified: trunk/libmsip/source/SipLayerTransport.cxx
===================================================================
--- trunk/libmsip/source/SipLayerTransport.cxx 2007-03-07 21:34:40 UTC (rev 3232)
+++ trunk/libmsip/source/SipLayerTransport.cxx 2007-03-07 22:12:34 UTC (rev 3233)
@@ -390,8 +390,8 @@
MRef<SipSocketServer *> server = *i;
server->join();
server->closeSockets();
+ server->free();
server->setReceiver(NULL);
- *i=NULL;
}
servers.clear();
Modified: trunk/libmsip/source/SipSocketServer.cxx
===================================================================
--- trunk/libmsip/source/SipSocketServer.cxx 2007-03-07 21:34:40 UTC (rev 3232)
+++ trunk/libmsip/source/SipSocketServer.cxx 2007-03-07 22:12:34 UTC (rev 3233)
@@ -47,6 +47,10 @@
SipSocketServer::~SipSocketServer(){
}
+void SipSocketServer::free(){
+ removeSocket(ssock);
+}
+
bool SipSocketServer::isIpv6() const{
return ssock->getLocalAddress()->getType() == IP_ADDRESS_TYPE_V6;
}
More information about the Minisip-devel
mailing list