Drop temporary ISDN call lock before deleting a sent event: avoid stray pointer.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3653 acf43c95-373e-0410-b603-e72c3f656dc1
This commit is contained in:
parent
286f59e19c
commit
307f20c1a5
|
@ -789,6 +789,7 @@ bool ISDNQ931Call::sendEvent(SignallingEvent* event)
|
|||
DDebug(q931(),DebugAll,"Call(%u,%u). sendEvent(%s) state=%s [%p]",
|
||||
Q931_CALL_ID,event->name(),stateName(state()),this);
|
||||
if (m_terminate || state() == CallAbort) {
|
||||
mylock.drop();
|
||||
delete event;
|
||||
return false;
|
||||
}
|
||||
|
@ -832,6 +833,7 @@ bool ISDNQ931Call::sendEvent(SignallingEvent* event)
|
|||
case CallAbort:
|
||||
// Schedule destroy
|
||||
m_terminate = m_destroy = true;
|
||||
mylock.drop();
|
||||
delete event;
|
||||
return false;
|
||||
default:
|
||||
|
@ -852,6 +854,7 @@ bool ISDNQ931Call::sendEvent(SignallingEvent* event)
|
|||
"Call(%u,%u). sendEvent not implemented for event '%s' [%p]",
|
||||
Q931_CALL_ID,event->name(),this);
|
||||
}
|
||||
mylock.drop();
|
||||
delete event;
|
||||
return retVal;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue