Pause and resume an operational link that was set Inactive (by receiving a changeover while operational).
git-svn-id: http://yate.null.ro/svn/yate/trunk@3580 acf43c95-373e-0410-b603-e72c3f656dc1
This commit is contained in:
parent
c41089e5a9
commit
c14d9a1a47
|
@ -231,10 +231,15 @@ bool SS7Layer2::inhibit(int setFlags, int clrFlags)
|
||||||
int old = m_inhibited;
|
int old = m_inhibited;
|
||||||
m_inhibited = (m_inhibited | setFlags) & ~clrFlags;
|
m_inhibited = (m_inhibited | setFlags) & ~clrFlags;
|
||||||
if (old != m_inhibited) {
|
if (old != m_inhibited) {
|
||||||
|
bool cycle = (setFlags & Inactive) && operational();
|
||||||
|
if (cycle)
|
||||||
|
control(Pause);
|
||||||
Debug(this,DebugNote,"Link inhibition changed 0x%02X -> 0x%02X [%p]",
|
Debug(this,DebugNote,"Link inhibition changed 0x%02X -> 0x%02X [%p]",
|
||||||
old,m_inhibited,this);
|
old,m_inhibited,this);
|
||||||
if (((old != 0) ^ (m_inhibited != 0)) && operational())
|
if (((old != 0) ^ (m_inhibited != 0)) && operational())
|
||||||
notify();
|
notify();
|
||||||
|
if (cycle)
|
||||||
|
control(Resume);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue