mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-03 03:20:57 +00:00
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
This commit is contained in:
@@ -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);
|
||||
|
Reference in New Issue
Block a user