mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-19 03:07:59 +00:00
Opaquify ast_channel structs and lists
Review: https://reviewboard.asterisk.org/r/1773/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@357542 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -48,7 +48,7 @@ struct ast_autochan *ast_autochan_setup(struct ast_channel *chan)
|
||||
autochan->chan = ast_channel_ref(chan);
|
||||
|
||||
ast_channel_lock(autochan->chan);
|
||||
AST_LIST_INSERT_TAIL(&autochan->chan->autochans, autochan, list);
|
||||
AST_LIST_INSERT_TAIL(ast_channel_autochans(autochan->chan), autochan, list);
|
||||
ast_channel_unlock(autochan->chan);
|
||||
|
||||
ast_debug(1, "Created autochan %p to hold channel %s (%p)\n", autochan, ast_channel_name(chan), chan);
|
||||
@@ -61,7 +61,7 @@ void ast_autochan_destroy(struct ast_autochan *autochan)
|
||||
struct ast_autochan *autochan_iter;
|
||||
|
||||
ast_channel_lock(autochan->chan);
|
||||
AST_LIST_TRAVERSE_SAFE_BEGIN(&autochan->chan->autochans, autochan_iter, list) {
|
||||
AST_LIST_TRAVERSE_SAFE_BEGIN(ast_channel_autochans(autochan->chan), autochan_iter, list) {
|
||||
if (autochan_iter == autochan) {
|
||||
AST_LIST_REMOVE_CURRENT(list);
|
||||
ast_debug(1, "Removed autochan %p from the list, about to free it\n", autochan);
|
||||
@@ -80,9 +80,9 @@ void ast_autochan_new_channel(struct ast_channel *old_chan, struct ast_channel *
|
||||
{
|
||||
struct ast_autochan *autochan;
|
||||
|
||||
AST_LIST_APPEND_LIST(&new_chan->autochans, &old_chan->autochans, list);
|
||||
AST_LIST_APPEND_LIST(ast_channel_autochans(new_chan), ast_channel_autochans(old_chan), list);
|
||||
|
||||
AST_LIST_TRAVERSE(&new_chan->autochans, autochan, list) {
|
||||
AST_LIST_TRAVERSE(ast_channel_autochans(new_chan), autochan, list) {
|
||||
if (autochan->chan == old_chan) {
|
||||
autochan->chan = ast_channel_unref(old_chan);
|
||||
autochan->chan = ast_channel_ref(new_chan);
|
||||
|
Reference in New Issue
Block a user