diff options
author | David M. Lee <dlee@digium.com> | 2013-08-02 14:27:35 +0000 |
---|---|---|
committer | David M. Lee <dlee@digium.com> | 2013-08-02 14:27:35 +0000 |
commit | 10c91bc96eafbf5f897869ede83127c9c267981c (patch) | |
tree | c9aaaf3cc4c9794057e258166854d5f88a6a0c18 /tests | |
parent | 328e99f41d48d8f15832bf4f6c97beb0ef71fc0c (diff) |
Address JSON thread safety issues.
In tracking down some unit tests failures, I ended up reading the fine
print[1] regarding Jansson's thread safety.
In short:
1. Ref-counting is non-atomic.
2. json_dumps() and friends are not thread safe.
This patch adds locking where necessary to our ast_json_* wrapper API,
with documentation in json.h describing the thread safety limitations of
the API.
[1]: http://www.digip.org/jansson/doc/2.4/portability.html#thread-safety
Review: https://reviewboard.asterisk.org/r/2716/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@396119 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'tests')
-rw-r--r-- | tests/test_json.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/tests/test_json.c b/tests/test_json.c index 08837de06..d6bc7a2c7 100644 --- a/tests/test_json.c +++ b/tests/test_json.c @@ -55,7 +55,7 @@ static size_t alloc_count; */ static void *json_debug_malloc(size_t size) { - void *p = ast_malloc(size); + void *p = ast_json_malloc(size); if (p) { ++alloc_count; } @@ -67,7 +67,7 @@ static void json_debug_free(void *p) if (p) { --alloc_count; } - ast_free(p); + ast_json_free(p); } static int json_test_init(struct ast_test_info *info, struct ast_test *test) |