diff options
Diffstat (limited to 'include/asterisk/threadstorage.h')
-rw-r--r-- | include/asterisk/threadstorage.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/include/asterisk/threadstorage.h b/include/asterisk/threadstorage.h index fd4f7847e..74f91cdd7 100644 --- a/include/asterisk/threadstorage.h +++ b/include/asterisk/threadstorage.h @@ -103,11 +103,17 @@ void __ast_threadstorage_object_replace(void *key_old, void *key_new, size_t len */ #define AST_THREADSTORAGE_CUSTOM(a,b,c) AST_THREADSTORAGE_CUSTOM_SCOPE(a,b,c,static) +#if defined(PTHREAD_ONCE_INIT_NEEDS_BRACES) +# define AST_PTHREAD_ONCE_INIT { PTHREAD_ONCE_INIT } +#else +# define AST_PTHREAD_ONCE_INIT PTHREAD_ONCE_INIT +#endif + #if !defined(DEBUG_THREADLOCALS) #define AST_THREADSTORAGE_CUSTOM_SCOPE(name, c_init, c_cleanup, scope) \ static void __init_##name(void); \ scope struct ast_threadstorage name = { \ - .once = PTHREAD_ONCE_INIT, \ + .once = AST_PTHREAD_ONCE_INIT, \ .key_init = __init_##name, \ .custom_init = c_init, \ }; \ @@ -119,7 +125,7 @@ static void __init_##name(void) \ #define AST_THREADSTORAGE_CUSTOM_SCOPE(name, c_init, c_cleanup, scope) \ static void __init_##name(void); \ scope struct ast_threadstorage name = { \ - .once = PTHREAD_ONCE_INIT, \ + .once = AST_PTHREAD_ONCE_INIT, \ .key_init = __init_##name, \ .custom_init = c_init, \ }; \ |