X-Git-Url: https://git.openssl.org/?p=openssl.git;a=blobdiff_plain;f=crypto%2Fthreads_pthread.c;fp=crypto%2Fthreads_pthread.c;h=0d351ca6fa9ad79526d2b1af0b13a81ad2f9b663;hp=0a6c903b8bb09dcf2a8804d6dde3c627fc632fe3;hb=3593266d1c924ea595a1074e78381890f964392c;hpb=ecb0f148a94c9b0076240ca1d7904ab50a7dc9a4 diff --git a/crypto/threads_pthread.c b/crypto/threads_pthread.c index 0a6c903b8b..0d351ca6fa 100644 --- a/crypto/threads_pthread.c +++ b/crypto/threads_pthread.c @@ -175,7 +175,10 @@ int CRYPTO_atomic_add(int *val, int amount, int *ret, CRYPTO_RWLOCK *lock) return 1; } -# ifdef OPENSSL_SYS_UNIX +# ifndef FIPS_MODE +/* TODO(3.0): No fork protection in FIPS module yet! */ + +# ifdef OPENSSL_SYS_UNIX static pthread_once_t fork_once_control = PTHREAD_ONCE_INIT; static void fork_once_func(void) @@ -183,14 +186,15 @@ static void fork_once_func(void) pthread_atfork(OPENSSL_fork_prepare, OPENSSL_fork_parent, OPENSSL_fork_child); } -# endif +# endif int openssl_init_fork_handlers(void) { -# ifdef OPENSSL_SYS_UNIX +# ifdef OPENSSL_SYS_UNIX if (pthread_once(&fork_once_control, fork_once_func) == 0) return 1; -# endif +# endif return 0; } +# endif /* FIPS_MODE */ #endif