From 42f6e1f78e71557b7c6bee0cf77e000aa3c00f6d Mon Sep 17 00:00:00 2001 From: Ruslan Ermilov Date: Thu, 4 Aug 2016 23:43:10 +0300 Subject: Always seed PRNG with PID, seconds, and milliseconds. --- src/os/unix/ngx_process_cycle.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/os/unix/ngx_process_cycle.c') diff --git a/src/os/unix/ngx_process_cycle.c b/src/os/unix/ngx_process_cycle.c index 8c2d968a5..83b04ee62 100644 --- a/src/os/unix/ngx_process_cycle.c +++ b/src/os/unix/ngx_process_cycle.c @@ -785,6 +785,7 @@ ngx_worker_process_init(ngx_cycle_t *cycle, ngx_int_t worker) { sigset_t set; ngx_int_t n; + ngx_time_t *tp; ngx_uint_t i; ngx_cpuset_t *cpu_affinity; struct rlimit rlmt; @@ -884,7 +885,8 @@ ngx_worker_process_init(ngx_cycle_t *cycle, ngx_int_t worker) "sigprocmask() failed"); } - srandom(((unsigned) ngx_pid << 16) ^ ngx_time()); + tp = ngx_timeofday(); + srandom(((unsigned) ngx_pid << 16) ^ tp->sec ^ tp->msec); /* * disable deleting previous events for the listening sockets because -- cgit v1.2.3