Address JSON thread safety issues.
authorDavid M. Lee <dlee@digium.com>
Fri, 2 Aug 2013 14:27:35 +0000 (14:27 +0000)
committerDavid M. Lee <dlee@digium.com>
Fri, 2 Aug 2013 14:27:35 +0000 (14:27 +0000)
commit10c91bc96eafbf5f897869ede83127c9c267981c
treec9aaaf3cc4c9794057e258166854d5f88a6a0c18
parent328e99f41d48d8f15832bf4f6c97beb0ef71fc0c
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
include/asterisk/json.h
main/cel.c
main/json.c
res/ari/ari_websockets.c
res/res_sorcery_astdb.c
tests/test_json.c