diff options
author | Ruslan Ermilov <ru@nginx.com> | 2016-08-04 23:43:10 +0300 |
---|---|---|
committer | Ruslan Ermilov <ru@nginx.com> | 2016-08-04 23:43:10 +0300 |
commit | 42f6e1f78e71557b7c6bee0cf77e000aa3c00f6d (patch) | |
tree | a67b3ec99148133d6b8a87d22319b25478df7377 /src/os/win32/ngx_win32_init.c | |
parent | 31389e4921c81bd7a3b82a95032e60e13454bae4 (diff) | |
download | nginx-42f6e1f78e71557b7c6bee0cf77e000aa3c00f6d.tar.gz nginx-42f6e1f78e71557b7c6bee0cf77e000aa3c00f6d.zip |
Always seed PRNG with PID, seconds, and milliseconds.
Diffstat (limited to 'src/os/win32/ngx_win32_init.c')
-rw-r--r-- | src/os/win32/ngx_win32_init.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/os/win32/ngx_win32_init.c b/src/os/win32/ngx_win32_init.c index 9b26db589..eb3e1386c 100644 --- a/src/os/win32/ngx_win32_init.c +++ b/src/os/win32/ngx_win32_init.c @@ -59,12 +59,13 @@ static GUID dx_guid = WSAID_DISCONNECTEX; ngx_int_t ngx_os_init(ngx_log_t *log) { - DWORD bytes; - SOCKET s; - WSADATA wsd; - ngx_err_t err; - ngx_uint_t n; - SYSTEM_INFO si; + DWORD bytes; + SOCKET s; + WSADATA wsd; + ngx_err_t err; + ngx_time_t *tp; + ngx_uint_t n; + SYSTEM_INFO si; /* get Windows version */ @@ -237,7 +238,8 @@ ngx_os_init(ngx_log_t *log) ngx_sprintf((u_char *) ngx_unique, "%P%Z", ngx_pid); } - srand((ngx_pid << 16) ^ (unsigned) ngx_time()); + tp = ngx_timeofday(); + srand((ngx_pid << 16) ^ (unsigned) tp->sec ^ tp->msec); return NGX_OK; } |