diff options
Diffstat (limited to 'usr/src/lib/libsip/common/sip_dialog.c')
-rw-r--r-- | usr/src/lib/libsip/common/sip_dialog.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/usr/src/lib/libsip/common/sip_dialog.c b/usr/src/lib/libsip/common/sip_dialog.c index 402c6f32ae..4c8605b8a7 100644 --- a/usr/src/lib/libsip/common/sip_dialog.c +++ b/usr/src/lib/libsip/common/sip_dialog.c @@ -1392,6 +1392,10 @@ sip_dialog_process(_sip_msg_t *sip_msg, sip_dialog_t *sip_dialog) return (error); (void) pthread_mutex_lock(&_dialog->sip_dlg_mutex); + if (_dialog->sip_dlg_state == SIP_DLG_DESTROYED) { + (void) pthread_mutex_unlock(&_dialog->sip_dlg_mutex); + return (0); + } assert(_dialog->sip_dlg_state == SIP_DLG_EARLY || _dialog->sip_dlg_state == SIP_DLG_CONFIRMED); /* |