From 6c555891eb429512ae98925fc9bbd12f0b516d8c Mon Sep 17 00:00:00 2001 From: Richard Mudgett Date: Fri, 11 Aug 2017 16:31:45 -0500 Subject: channel: Fix topology API locking. * ast_channel_request_stream_topology_change() must not be called with any channel locks held. * ast_channel_stream_topology_changed() must be called with only the passed channel lock held. ASTERISK-27212 Change-Id: I843de7956d9f1cc7cc02025aea3463d8fe19c691 --- tests/test_stream.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'tests') diff --git a/tests/test_stream.c b/tests/test_stream.c index 28983e05c..8c887048c 100644 --- a/tests/test_stream.c +++ b/tests/test_stream.c @@ -1768,7 +1768,9 @@ AST_TEST_DEFINE(stream_topology_change_request_from_application_non_multistream) ast_test_validate_cleanup(test, change_res == -1, res, done); ast_test_validate_cleanup(test, !pvt->indicated_change_request, res, done); + ast_channel_lock(mock_channel); change_res = ast_channel_stream_topology_changed(mock_channel, topology); + ast_channel_unlock(mock_channel); ast_test_validate_cleanup(test, change_res == -1, res, done); ast_test_validate_cleanup(test, !pvt->indicated_changed, res, done); @@ -1876,7 +1878,9 @@ AST_TEST_DEFINE(stream_topology_change_request_from_application) ast_test_validate_cleanup(test, !change_res, res, done); ast_test_validate_cleanup(test, pvt->indicated_change_request, res, done); + ast_channel_lock(mock_channel); change_res = ast_channel_stream_topology_changed(mock_channel, topology); + ast_channel_unlock(mock_channel); ast_test_validate_cleanup(test, !change_res, res, done); ast_test_validate_cleanup(test, pvt->indicated_changed, res, done); -- cgit v1.2.3