From: Doug MacEachern Date: Thu, 29 Nov 2001 05:08:47 +0000 (+0000) Subject: move srand() call from ssl_rand_choosenum() to ssl_init_Child() X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0a22c4bf4707c701556ace579d2f6513c6cc958f;p=thirdparty%2Fapache%2Fhttpd.git move srand() call from ssl_rand_choosenum() to ssl_init_Child() this was being called twice per-connection with 'SSLRandom connect builtin' configured (which is in the default config) this also gets rid of two time() syscalls per-connection PR: Obtained from: Submitted by: Reviewed by: git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk/modules/ssl@92232 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/ssl_engine_init.c b/ssl_engine_init.c index b3008f3d9e1..69b2eb99884 100644 --- a/ssl_engine_init.c +++ b/ssl_engine_init.c @@ -967,6 +967,9 @@ void ssl_init_Child(apr_pool_t *p, server_rec *s) SSLModConfigRec *mc = myModConfig(s); mc->pid = getpid(); /* only call getpid() once per-process */ + /* XXX: there should be an ap_srand() function */ + srand((unsigned int)time(NULL)); + /* open the mutex lockfile */ ssl_mutex_reinit(s, p); return; diff --git a/ssl_engine_rand.c b/ssl_engine_rand.c index 79a5a5171a6..36a57bce05b 100644 --- a/ssl_engine_rand.c +++ b/ssl_engine_rand.c @@ -203,7 +203,6 @@ static int ssl_rand_choosenum(int l, int h) int i; char buf[50]; - srand((unsigned int)time(NULL)); apr_snprintf(buf, sizeof(buf), "%.0f", (((double)(rand()%RAND_MAX)/RAND_MAX)*(h-l))); i = atoi(buf)+1;