diff options
Diffstat (limited to 'common/library.h')
-rw-r--r-- | common/library.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/common/library.h b/common/library.h index c3840f8..0a779b0 100644 --- a/common/library.h +++ b/common/library.h @@ -59,11 +59,21 @@ extern unsigned int p11_forkid; #define p11_library_init_once() #else /* !OS_WIN32 */ + +#ifdef __GNUC__ + +/* No implementation, because done by the ELF constructor */ +#define p11_library_init_once() + +#else + extern pthread_once_t p11_library_once; #define p11_library_init_once() \ pthread_once (&p11_library_once, p11_library_init_impl); +#endif /* !__GNUC__ */ + void p11_library_init_impl (void); #endif /* !OS_WIN32 */ |