asterisk/tests
George Joseph 216abb0ae7 lock: Add named lock capability
Locking some objects like sorcery objects can be tricky because the underlying
ao2 object may not be the same for all callers.  For instance, two threads that
call ast_sorcery_retrieve_by_id on the same aor name might actually get 2
different ao2 objects if the underlying wizard had to rehydrate the aor from a
database. Locking one ao2 object doesn't have any effect on the other even if
those objects had locks in the first place.

Named locks allow access control by keyspace and key strings.  Now an "aor"
named "1000" can be locked and any other thread attempting to lock "aor" "1000"
will wait regardless of whether the underlying ao2 object is the same or not.
Mutex and rwlocks are supported.

This capability will initially be used to lock an aor when multiple threads may
be attempting to prune expired contacts from it.

Change-Id: If258c0b7f92b02d07243ce70e535821a1ea7fb45
2016-04-08 13:52:02 -05:00
..
Makefile Title update 2012-10-14 21:56:13 +00:00
test_abstract_jb.c git migration: Refactor the ASTERISK_FILE_VERSION macro 2015-04-13 03:48:57 -04:00
test_acl.c git migration: Refactor the ASTERISK_FILE_VERSION macro 2015-04-13 03:48:57 -04:00
test_ami_security_events.sh Add an API for reporting security events, and a security event logging module. 2009-07-11 19:15:03 +00:00
test_amihooks.c git migration: Refactor the ASTERISK_FILE_VERSION macro 2015-04-13 03:48:57 -04:00
test_aoc.c git migration: Refactor the ASTERISK_FILE_VERSION macro 2015-04-13 03:48:57 -04:00
test_app.c git migration: Refactor the ASTERISK_FILE_VERSION macro 2015-04-13 03:48:57 -04:00
test_ari.c doxygen: Fix doxygen errors 2015-05-19 21:11:21 -05:00
test_ari_model.c git migration: Refactor the ASTERISK_FILE_VERSION macro 2015-04-13 03:48:57 -04:00
test_ast_format_str_reduce.c git migration: Refactor the ASTERISK_FILE_VERSION macro 2015-04-13 03:48:57 -04:00
test_astobj2.c git migration: Refactor the ASTERISK_FILE_VERSION macro 2015-04-13 03:48:57 -04:00
test_astobj2_thrash.c git migration: Refactor the ASTERISK_FILE_VERSION macro 2015-04-13 03:48:57 -04:00
test_astobj2_weaken.c Astobj2: Add ao2_weakproxy_ref_object function. 2015-04-29 13:28:54 -04:00
test_bucket.c bucket: Add clone/staleness operations for ast_bucket/ast_bucket_file 2015-07-04 20:32:09 -05:00
test_callerid.c git migration: Refactor the ASTERISK_FILE_VERSION macro 2015-04-13 03:48:57 -04:00
test_cdr.c Unit tests: Fix unit test description strings. 2015-06-24 17:13:31 -05:00
test_cel.c Unit tests: Fix unit test description strings. 2015-06-24 17:13:31 -05:00
test_channel_feature_hooks.c Unit tests: Fix unit test description strings. 2015-06-24 17:13:31 -05:00
test_config.c sorcery/res_pjsip: Refactor for realtime performance 2016-03-27 22:43:27 -05:00
test_core_codec.c git migration: Refactor the ASTERISK_FILE_VERSION macro 2015-04-13 03:48:57 -04:00
test_core_format.c main/format: Add an API call for retrieving format attributes 2015-08-10 12:47:56 -05:00
test_db.c git migration: Refactor the ASTERISK_FILE_VERSION macro 2015-04-13 03:48:57 -04:00
test_devicestate.c tests/test_devicestate: Add additional tests for the device state API 2015-07-11 11:27:13 -05:00
test_dlinklists.c logging: Remove/fix some message annoyances 2016-02-03 14:11:11 -06:00
test_dns.c Merge "Replaces clock_gettime() with ast_tsnow()" 2015-08-10 11:27:12 -05:00
test_dns_naptr.c Unit tests: Fix more unit test description strings. 2015-06-24 17:13:31 -05:00
test_dns_query_set.c Replaces clock_gettime() with ast_tsnow() 2015-08-07 19:35:13 -05:00
test_dns_recurring.c Replaces clock_gettime() with ast_tsnow() 2015-08-07 19:35:13 -05:00
test_dns_srv.c Unit tests: Fix more unit test description strings. 2015-06-24 17:13:31 -05:00
test_endpoints.c doxygen: Fix doxygen errors 2015-05-19 21:11:21 -05:00
test_event.c git migration: Refactor the ASTERISK_FILE_VERSION macro 2015-04-13 03:48:57 -04:00
test_expr.c Unit tests: Fix unit test description strings. 2015-06-24 17:13:31 -05:00
test_format_cache.c git migration: Refactor the ASTERISK_FILE_VERSION macro 2015-04-13 03:48:57 -04:00
test_format_cap.c format_cap: Don't append the 'none' format when appending all. 2015-11-12 08:48:42 -05:00
test_func_file.c git migration: Refactor the ASTERISK_FILE_VERSION macro 2015-04-13 03:48:57 -04:00
test_gosub.c Fix unsafe uses of ast_context pointers. 2015-06-08 11:09:57 -04:00
test_hashtab_thrash.c git migration: Refactor the ASTERISK_FILE_VERSION macro 2015-04-13 03:48:57 -04:00
test_heap.c git migration: Refactor the ASTERISK_FILE_VERSION macro 2015-04-13 03:48:57 -04:00
test_http_media_cache.c tests/test_http_media_cache: Fix file descriptor leak in test. 2016-03-24 08:18:31 -03:00
test_jitterbuf.c git migration: Refactor the ASTERISK_FILE_VERSION macro 2015-04-13 03:48:57 -04:00
test_json.c doxygen: Fix doxygen errors 2015-05-19 21:11:21 -05:00
test_linkedlists.c git migration: Refactor the ASTERISK_FILE_VERSION macro 2015-04-13 03:48:57 -04:00
test_locale.c git migration: Refactor the ASTERISK_FILE_VERSION macro 2015-04-13 03:48:57 -04:00
test_logger.c git migration: Refactor the ASTERISK_FILE_VERSION macro 2015-04-13 03:48:57 -04:00
test_media_cache.c media cache: Add a core API and facade for a backend agnostic media cache 2015-07-12 20:44:16 -05:00
test_message.c Unit tests: Fix unit test description strings. 2015-06-24 17:13:31 -05:00
test_named_lock.c lock: Add named lock capability 2016-04-08 13:52:02 -05:00
test_netsock2.c git migration: Refactor the ASTERISK_FILE_VERSION macro 2015-04-13 03:48:57 -04:00
test_optional_api.c doxygen: Fix doxygen errors 2015-05-19 21:11:21 -05:00
test_pbx.c Fix unsafe uses of ast_context pointers. 2015-06-08 11:09:57 -04:00
test_poll.c Unit tests: Fix unit test description strings. 2015-06-24 17:13:31 -05:00
test_res_stasis.c doxygen: Fix doxygen errors 2015-05-19 21:11:21 -05:00
test_sched.c sched.c: Ensure oldest expiring entry runs first. 2016-03-16 14:22:19 -05:00
test_scoped_lock.c ao2_iterator: Mini-audit of the ao2_iterator loops in the new code files. 2013-12-20 20:00:50 +00:00
test_security_events.c git migration: Refactor the ASTERISK_FILE_VERSION macro 2015-04-13 03:48:57 -04:00
test_skel.c git migration: Refactor the ASTERISK_FILE_VERSION macro 2015-04-13 03:48:57 -04:00
test_sorcery.c sorcery: Add support for object staleness 2015-07-04 20:32:09 -05:00
test_sorcery_astdb.c sorcery/res_pjsip: Refactor for realtime performance 2016-03-27 22:43:27 -05:00
test_sorcery_memory_cache_thrash.c tests/test_sorcery_memory_cache_thrash: Improve termination process. 2016-02-09 11:25:01 -06:00
test_sorcery_realtime.c sorcery/res_pjsip: Refactor for realtime performance 2016-03-27 22:43:27 -05:00
test_stasis.c Unit tests: Fix unit test description strings. 2015-06-24 17:13:31 -05:00
test_stasis_channels.c doxygen: Fix doxygen errors 2015-05-19 21:11:21 -05:00
test_stasis_endpoints.c tests/test_stasis_endpoints: Remove expected duplicate events 2015-12-28 13:46:24 -06:00
test_stringfields.c stringfields: Refactor to allow fields to be added to the end of structures 2016-04-04 19:07:53 -05:00
test_strings.c sorcery/res_pjsip: Refactor for realtime performance 2016-03-27 22:43:27 -05:00
test_substitution.c git migration: Refactor the ASTERISK_FILE_VERSION macro 2015-04-13 03:48:57 -04:00
test_taskprocessor.c Multiple revisions 399887,400138,400178,400180-400181 2013-09-30 18:55:27 +00:00
test_threadpool.c Fix failing threadpool_auto_increment test. 2016-02-18 11:49:50 -06:00
test_time.c git migration: Refactor the ASTERISK_FILE_VERSION macro 2015-04-13 03:48:57 -04:00
test_uri.c git migration: Refactor the ASTERISK_FILE_VERSION macro 2015-04-13 03:48:57 -04:00
test_utils.c git migration: Refactor the ASTERISK_FILE_VERSION macro 2015-04-13 03:48:57 -04:00
test_uuid.c Add uuid wrapper API call ast_uuid_generate_str(). 2013-03-28 23:59:20 +00:00
test_vector.c vector: Add REMOVE, ADD_SORTED and RESET macros 2015-05-11 15:49:06 -05:00
test_voicemail_api.c Unit tests: Fix unit test description strings. 2015-06-24 17:13:31 -05:00
test_websocket_client.c git migration: Refactor the ASTERISK_FILE_VERSION macro 2015-04-13 03:48:57 -04:00
test_xml_escape.c git migration: Refactor the ASTERISK_FILE_VERSION macro 2015-04-13 03:48:57 -04:00