diff options
author | Richard Mudgett <rmudgett@digium.com> | 2016-08-03 16:24:39 -0500 |
---|---|---|
committer | Richard Mudgett <rmudgett@digium.com> | 2016-08-11 11:57:51 -0500 |
commit | e1248c30756ed9f48ba0f06c46a876c5d08cbb11 (patch) | |
tree | 977c7dd0686c131445f353356665629eb72f1536 /res/res_pjsip | |
parent | 1a3cc843718a35eb69168304c54ec9e7caec6ffd (diff) |
res_pjsip: Make aor named lock a mutex.
The named aor lock was always being locked for writes so a rwlock adds no
benefit and may be slower because rwlocks are biased toward read locking.
Change-Id: I8c5c2c780eb30ce5441832257beeb3506fd12b28
Diffstat (limited to 'res/res_pjsip')
-rw-r--r-- | res/res_pjsip/location.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/res/res_pjsip/location.c b/res/res_pjsip/location.c index 9c08ccee6..ea5c4cba2 100644 --- a/res/res_pjsip/location.c +++ b/res/res_pjsip/location.c @@ -214,12 +214,12 @@ struct ao2_container *ast_sip_location_retrieve_aor_contacts(const struct ast_si struct ao2_container *contacts; struct ast_named_lock *lock; - lock = ast_named_lock_get(AST_NAMED_LOCK_TYPE_RWLOCK, "aor", ast_sorcery_object_get_id(aor)); + lock = ast_named_lock_get(AST_NAMED_LOCK_TYPE_MUTEX, "aor", ast_sorcery_object_get_id(aor)); if (!lock) { return NULL; } - ao2_wrlock(lock); + ao2_lock(lock); contacts = ast_sip_location_retrieve_aor_contacts_nolock(aor); ao2_unlock(lock); ast_named_lock_put(lock); @@ -373,12 +373,12 @@ int ast_sip_location_add_contact(struct ast_sip_aor *aor, const char *uri, int res; struct ast_named_lock *lock; - lock = ast_named_lock_get(AST_NAMED_LOCK_TYPE_RWLOCK, "aor", ast_sorcery_object_get_id(aor)); + lock = ast_named_lock_get(AST_NAMED_LOCK_TYPE_MUTEX, "aor", ast_sorcery_object_get_id(aor)); if (!lock) { return -1; } - ao2_wrlock(lock); + ao2_lock(lock); res = ast_sip_location_add_contact_nolock(aor, uri, expiration_time, path_info, user_agent, via_addr, via_port, call_id, endpoint); |