From: Chris Rienzo Date: Tue, 30 Apr 2019 18:50:34 +0000 (+0000) Subject: FS-11823 [core] clear out event queue when destroying session X-Git-Tag: v1.8.6~1^2~37 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2d231cdff361eb364fd7dbecbb8c8da5e3e1cce0;p=thirdparty%2Ffreeswitch.git FS-11823 [core] clear out event queue when destroying session --- diff --git a/src/switch_core_session.c b/src/switch_core_session.c index 3084fd5481..8a4ca0663a 100644 --- a/src/switch_core_session.c +++ b/src/switch_core_session.c @@ -1580,6 +1580,17 @@ SWITCH_DECLARE(void) switch_core_session_perform_destroy(switch_core_session_t * } } + if ((*session)->event_queue) { + switch_status_t status; + void *pop; + while ((status = (switch_status_t) switch_queue_trypop((*session)->event_queue, &pop)) == SWITCH_STATUS_SUCCESS) { + if (pop) { + switch_event_t *event = (switch_event_t *) pop; + switch_event_destroy(&event); + } + } + } + pool = (*session)->pool; //#ifndef NDEBUG //memset(*session, 0, sizeof(switch_core_session_t));