summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--main/channel_internal_api.c3
-rw-r--r--main/manager.c3
-rw-r--r--tests/test_stasis.c6
3 files changed, 4 insertions, 8 deletions
diff --git a/main/channel_internal_api.c b/main/channel_internal_api.c
index d646d8485..0867524d6 100644
--- a/main/channel_internal_api.c
+++ b/main/channel_internal_api.c
@@ -1367,8 +1367,7 @@ void ast_channel_internal_cleanup(struct ast_channel *chan)
ast_string_field_free_memory(chan);
- stasis_unsubscribe(chan->forwarder);
- chan->forwarder = NULL;
+ chan->forwarder = stasis_unsubscribe(chan->forwarder);
ao2_cleanup(chan->topic);
chan->topic = NULL;
diff --git a/main/manager.c b/main/manager.c
index d5d5ccc26..821fde8db 100644
--- a/main/manager.c
+++ b/main/manager.c
@@ -7590,8 +7590,7 @@ static void manager_shutdown(void)
{
struct ast_manager_user *user;
- stasis_unsubscribe(channel_state_sub);
- channel_state_sub = NULL;
+ channel_state_sub = stasis_unsubscribe(channel_state_sub);
if (registered) {
ast_manager_unregister("Ping");
diff --git a/tests/test_stasis.c b/tests/test_stasis.c
index 36822941e..fb81ecde3 100644
--- a/tests/test_stasis.c
+++ b/tests/test_stasis.c
@@ -276,8 +276,7 @@ AST_TEST_DEFINE(subscription_messages)
ao2_ref(consumer, +1);
expected_uniqueid = ast_strdup(stasis_subscription_uniqueid(uut));
- stasis_unsubscribe(uut);
- uut = NULL;
+ uut = stasis_unsubscribe(uut);
complete = consumer_wait_for_completion(consumer);
ast_test_validate(test, 1 == complete);
@@ -376,8 +375,7 @@ AST_TEST_DEFINE(unsubscribe_stops_messages)
ast_test_validate(test, NULL != uut);
ao2_ref(consumer, +1);
- stasis_unsubscribe(uut);
- uut = NULL;
+ uut = stasis_unsubscribe(uut);
test_data = ao2_alloc(1, NULL);
ast_test_validate(test, NULL != test_data);