SWITCH_DECLARE(switch_status_t) switch_core_session_flush_message(switch_core_session_t *session)
{
+ switch_status_t status = SWITCH_STATUS_FALSE;
+ void *pop;
switch_core_session_message_t *message;
- while (switch_core_session_dequeue_message(session, &message) == SWITCH_STATUS_SUCCESS) {
- switch_core_session_free_message(&message);
+ switch_assert(session != NULL);
+
+ if (session->message_queue) {
+ while ((status = (switch_status_t) switch_queue_trypop(session->message_queue, &pop)) == SWITCH_STATUS_SUCCESS) {
+ message = (switch_core_session_message_t *) pop;
+ switch_core_session_free_message(&message);
+ }
}
return SWITCH_STATUS_SUCCESS;