Commit 7d1b547a authored by Yann Ylavic's avatar Yann Ylavic
Browse files

Follow up to r1833368: apr_crypto_prng_after_fork() now used a PID.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1833383 13f79535-47bb-0310-9956-ffa450edef68
parent f1fa6989
Loading
Loading
Loading
Loading
+7 −4
Changes for server/core.c: 7 added lines, 4 removed lines.
Original line number Diff line number Diff line
@@ -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 */
}