dc3b313e91
This makes use of __atomic or __sync builtin compiler functions to make json_decref and json_incref thread-safe. Issue #387
52 lines
1.7 KiB
C
52 lines
1.7 KiB
C
/*
|
|
* Copyright (c) 2010-2016 Petri Lehtinen <petri@digip.org>
|
|
*
|
|
* Jansson is free software; you can redistribute it and/or modify
|
|
* it under the terms of the MIT license. See LICENSE for details.
|
|
*
|
|
*
|
|
* This file specifies a part of the site-specific configuration for
|
|
* Jansson, namely those things that affect the public API in
|
|
* jansson.h.
|
|
*
|
|
* The configure script copies this file to jansson_config.h and
|
|
* replaces @var@ substitutions by values that fit your system. If you
|
|
* cannot run the configure script, you can do the value substitution
|
|
* by hand.
|
|
*/
|
|
|
|
#ifndef JANSSON_CONFIG_H
|
|
#define JANSSON_CONFIG_H
|
|
|
|
/* If your compiler supports the inline keyword in C, JSON_INLINE is
|
|
defined to `inline', otherwise empty. In C++, the inline is always
|
|
supported. */
|
|
#ifdef __cplusplus
|
|
#define JSON_INLINE inline
|
|
#else
|
|
#define JSON_INLINE @json_inline@
|
|
#endif
|
|
|
|
/* If your compiler supports the `long long` type and the strtoll()
|
|
library function, JSON_INTEGER_IS_LONG_LONG is defined to 1,
|
|
otherwise to 0. */
|
|
#define JSON_INTEGER_IS_LONG_LONG @json_have_long_long@
|
|
|
|
/* If locale.h and localeconv() are available, define to 1,
|
|
otherwise to 0. */
|
|
#define JSON_HAVE_LOCALECONV @json_have_localeconv@
|
|
|
|
/* If __atomic builtins are available they will be used to manage
|
|
reference counts of json_t. */
|
|
#define JSON_HAVE_ATOMIC_BUILTINS @json_have_atomic_builtins@
|
|
|
|
/* If __atomic builtins are not available we try using __sync builtins
|
|
to manage reference counts of json_t. */
|
|
#define JSON_HAVE_SYNC_BUILTINS @json_have_sync_builtins@
|
|
|
|
/* Maximum recursion depth for parsing JSON input.
|
|
This limits the depth of e.g. array-within-array constructions. */
|
|
#define JSON_PARSER_MAX_DEPTH 2048
|
|
|
|
#endif
|