Mercurial > hg > nginx
view src/core/ngx_murmurhash.c @ 9269:4eb02e5ddb48
Core: added realpath() checking when testing PID files.
This ensures that if the PID file path is changed, yet resolves to the
same file via symbolic links, trying to recreate the PID file won't
remove it. In particular, this resolves issues as observed on Linux
systems with "/var/run/nginx.pid" changed to "/run/nginx.pid".
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Mon, 13 May 2024 06:13:12 +0300 |
parents | f38647c651a8 |
children |
line wrap: on
line source
/* * Copyright (C) Austin Appleby */ #include <ngx_config.h> #include <ngx_core.h> uint32_t ngx_murmur_hash2(u_char *data, size_t len) { uint32_t h, k; h = 0 ^ len; while (len >= 4) { k = data[0]; k |= data[1] << 8; k |= data[2] << 16; k |= data[3] << 24; k *= 0x5bd1e995; k ^= k >> 24; k *= 0x5bd1e995; h *= 0x5bd1e995; h ^= k; data += 4; len -= 4; } switch (len) { case 3: h ^= data[2] << 16; /* fall through */ case 2: h ^= data[1] << 8; /* fall through */ case 1: h ^= data[0]; h *= 0x5bd1e995; } h ^= h >> 13; h *= 0x5bd1e995; h ^= h >> 15; return h; }