]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
Follow up to r1833368: apr_crypto_prng_after_fork() now used a PID.
authorYann Ylavic <ylavic@apache.org>
Tue, 12 Jun 2018 08:01:04 +0000 (08:01 +0000)
committerYann Ylavic <ylavic@apache.org>
Tue, 12 Jun 2018 08:01:04 +0000 (08:01 +0000)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1833383 13f79535-47bb-0310-9956-ffa450edef68

server/core.c

index 0ea953a3fae37fb381174026cebd19787a77f5c6..a679f9d00d13163ada46829f8de06b4369f50805 100644 (file)
@@ -5455,10 +5455,14 @@ static void core_child_init(apr_pool_t *pchild, server_rec *s)
     /* The MPMs use plain fork() and not apr_proc_fork(), so we have to
      * take care of the random generator manually in the child.
      */
+    apr_proc_t proc;
+
+    memset(&proc, 0, sizeof(proc));
+    proc.pid = getpid();
+
 #if USE_APR_CRYPTO_PRNG
-    apr_crypto_prng_after_fork();
+    apr_crypto_prng_after_fork(&proc);
 #else
-    apr_proc_t proc;
 #if APR_HAS_THREADS
     int threaded_mpm;
     if (ap_mpm_query(AP_MPMQ_IS_THREADED, &threaded_mpm) == APR_SUCCESS
@@ -5466,9 +5470,8 @@ static void core_child_init(apr_pool_t *pchild, server_rec *s)
     {
         apr_thread_mutex_create(&rng_mutex, APR_THREAD_MUTEX_DEFAULT, pchild);
     }
-    proc.pid = getpid();
-    apr_random_after_fork(&proc);
 #endif
+    apr_random_after_fork(&proc);
 #endif /* USE_APR_CRYPTO_PRNG */
 }