Destruction of SS7 User Parts detaches from network/router in the base class.

Fixes crash when removing a Test Part at runtime.


git-svn-id: http://voip.null.ro/svn/yate@4569 acf43c95-373e-0410-b603-e72c3f656dc1
This commit is contained in:
paulc 2011-08-25 10:02:56 +00:00
parent d0571280e6
commit 04f7e9d36b
3 changed files with 13 additions and 2 deletions

View File

@ -3613,7 +3613,6 @@ void SS7ISUP::destroyed()
clearCalls();
unlock();
SignallingCallControl::attach(0);
SS7Layer4::attach(0);
SS7Layer4::destroyed();
}

View File

@ -37,6 +37,12 @@ SS7Layer4::SS7Layer4(unsigned char sio, const NamedList* params)
m_sio = getSIO(*params,sio);
}
void SS7Layer4::destroyed()
{
attach(0);
SignallingComponent::destroyed();
}
unsigned char SS7Layer4::getSIO(const NamedList& params, unsigned char sif, unsigned char prio, unsigned char ni)
{
if ((prio & 0x30) == 0)

View File

@ -703,7 +703,7 @@ protected:
* This method is called to clean up and destroy the object after the
* reference counter becomes zero
*/
void destroyed();
virtual void destroyed();
/**
* Insert another component in the same engine as this one.
@ -6008,6 +6008,12 @@ private:
class YSIG_API SS7Layer4 : public SS7L3User
{
public:
/**
* This method is called to clean up and destroy the object after the
* reference counter becomes zero
*/
virtual void destroyed();
/**
* Initialize the application layer, connect it to the SS7 router
* @param config Optional configuration parameters override