Merge "Message.c: Clear message channel frames on cleanup" into 13

This commit is contained in:
Joshua Colp
2015-05-14 15:19:55 -05:00
committed by Gerrit Code Review

View File

@@ -743,6 +743,7 @@ static void chan_cleanup(struct ast_channel *chan)
struct ast_datastore *msg_ds, *ds; struct ast_datastore *msg_ds, *ds;
struct varshead *headp; struct varshead *headp;
struct ast_var_t *vardata; struct ast_var_t *vardata;
struct ast_frame *cur;
ast_channel_lock(chan); ast_channel_lock(chan);
@@ -771,6 +772,13 @@ static void chan_cleanup(struct ast_channel *chan)
ast_var_delete(vardata); ast_var_delete(vardata);
} }
/*
* Remove frames from read queue
*/
while ((cur = AST_LIST_REMOVE_HEAD(ast_channel_readq(chan), frame_list))) {
ast_frfree(cur);
}
/* /*
* Restore msg datastore. * Restore msg datastore.
*/ */