diff options
author | Joshua Colp <jcolp@digium.com> | 2013-12-18 19:28:05 +0000 |
---|---|---|
committer | Joshua Colp <jcolp@digium.com> | 2013-12-18 19:28:05 +0000 |
commit | e2630fcd516b8f794bf342d9fd267b0c905e79ce (patch) | |
tree | f6cd5cf70eb9af24b239d78391aed7472c09dd7f /tests/test_app.c | |
parent | e23b8d19a49d4ee4faf3dc167ddb7ba7afe36a46 (diff) |
channels: Return allocated channels locked.
This change makes ast_channel_alloc return allocated channels
locked. By doing so no other thread can acquire, lock, and manipulate
the channel before it is completely set up.
(closes issue AST-1256)
Review: https://reviewboard.asterisk.org/r/3067/
........
Merged revisions 404204 from http://svn.asterisk.org/svn/asterisk/branches/12
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@404210 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'tests/test_app.c')
-rw-r--r-- | tests/test_app.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/tests/test_app.c b/tests/test_app.c index f47b052e5..92da42022 100644 --- a/tests/test_app.c +++ b/tests/test_app.c @@ -175,21 +175,25 @@ AST_TEST_DEFINE(app_group) "'%s', '%s', '%s', '%s'\n", group1_full, group2_full, category1_full, category2_full); if (!(test_channel1 = ast_channel_alloc(0, AST_STATE_DOWN, NULL, NULL, NULL, - NULL, NULL, 0, 0, "TestChannel1"))) { + NULL, NULL, 0, 0, "TestChannel1"))) { goto exit_group_test; } + ast_channel_unlock(test_channel1); if (!(test_channel2 = ast_channel_alloc(0, AST_STATE_DOWN, NULL, NULL, NULL, - NULL, NULL, 0, 0, "TestChannel2"))) { + NULL, NULL, 0, 0, "TestChannel2"))) { goto exit_group_test; } + ast_channel_unlock(test_channel2); if (!(test_channel3 = ast_channel_alloc(0, AST_STATE_DOWN, NULL, NULL, NULL, - NULL, NULL, 0, 0, "TestChannel3"))) { + NULL, NULL, 0, 0, "TestChannel3"))) { goto exit_group_test; } + ast_channel_unlock(test_channel3); if (!(test_channel4 = ast_channel_alloc(0, AST_STATE_DOWN, NULL, NULL, NULL, - NULL, NULL, 0, 0, "TestChannel4"))) { + NULL, NULL, 0, 0, "TestChannel4"))) { goto exit_group_test; } + ast_channel_unlock(test_channel4); ast_app_group_set_channel(test_channel1, group1_full); ast_app_group_set_channel(test_channel2, group2_full); |