diff options
author | Mark Michelson <mmichelson@digium.com> | 2013-10-02 22:22:17 +0000 |
---|---|---|
committer | Mark Michelson <mmichelson@digium.com> | 2013-10-02 22:22:17 +0000 |
commit | addbf276f5037dc5a265a1e43e383ae1d9e9d0d8 (patch) | |
tree | 0d9c84e9baffd708576d6c79fcd8adf768cba77d /channels/chan_pjsip.c | |
parent | e4ed9886e6527cab3858f45e8ba2d5f11a9aed08 (diff) |
Multiple revisions 400318-400319
........
r400318 | mmichelson | 2013-10-02 17:08:49 -0500 (Wed, 02 Oct 2013) | 12 lines
Remove unnecessary waits from stasis.
Since caches are updated on publisher threads, there is no need
to wait for the cache updates to occur after a stasis message
is published.
In the case of chan_pjsip device state changes, this set of
changes caused an improvement to performance.
Review: https://reviewboard.asterisk.org/r/2890
........
r400319 | mmichelson | 2013-10-02 17:10:54 -0500 (Wed, 02 Oct 2013) | 3 lines
Remove svn:mergeinfo property.
........
Merged revisions 400318-400319 from http://svn.asterisk.org/svn/asterisk/branches/12
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@400335 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels/chan_pjsip.c')
-rw-r--r-- | channels/chan_pjsip.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/channels/chan_pjsip.c b/channels/chan_pjsip.c index fcca25c8d..e505751c3 100644 --- a/channels/chan_pjsip.c +++ b/channels/chan_pjsip.c @@ -896,7 +896,11 @@ static int chan_pjsip_devicestate(const char *data) } endpoint_snapshot = ast_endpoint_latest_snapshot(ast_endpoint_get_tech(endpoint->persistent), - ast_endpoint_get_resource(endpoint->persistent), 1); + ast_endpoint_get_resource(endpoint->persistent)); + + if (!endpoint_snapshot) { + return AST_DEVICE_INVALID; + } if (endpoint_snapshot->state == AST_ENDPOINT_OFFLINE) { state = AST_DEVICE_UNAVAILABLE; @@ -916,7 +920,6 @@ static int chan_pjsip_devicestate(const char *data) RAII_VAR(struct stasis_message *, msg, NULL, ao2_cleanup); struct ast_channel_snapshot *snapshot; - stasis_topic_wait(ast_channel_topic_all_cached()); msg = stasis_cache_get(cache, ast_channel_snapshot_type(), endpoint_snapshot->channel_ids[num]); |