summaryrefslogtreecommitdiff
path: root/channels
diff options
context:
space:
mode:
authorMark Michelson <mmichelson@digium.com>2013-10-02 22:22:17 +0000
committerMark Michelson <mmichelson@digium.com>2013-10-02 22:22:17 +0000
commitaddbf276f5037dc5a265a1e43e383ae1d9e9d0d8 (patch)
tree0d9c84e9baffd708576d6c79fcd8adf768cba77d /channels
parente4ed9886e6527cab3858f45e8ba2d5f11a9aed08 (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')
-rw-r--r--channels/chan_pjsip.c7
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]);