mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-15 17:27:02 +00:00
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
This commit is contained in:
@@ -638,7 +638,7 @@ struct ast_event *ast_cel_create_event(struct ast_channel_snapshot *snapshot,
|
||||
struct ast_json *extra, const char *peer_name)
|
||||
{
|
||||
struct timeval eventtime = ast_tvnow();
|
||||
RAII_VAR(char *, extra_txt, NULL, ast_free);
|
||||
RAII_VAR(char *, extra_txt, NULL, ast_json_free);
|
||||
if (extra) {
|
||||
extra_txt = ast_json_dump_string(extra);
|
||||
}
|
||||
|
Reference in New Issue
Block a user