# HG changeset patch # User Igor Sysoev # Date 1258384923 0 # Node ID c6a9e05de3016ac24028d82699cc04f007062cf1 # Parent 44df6e76c28b9b12252afc7743eb23bc02f9d67e r3141 merge: fix posix_memalign() error handling diff --git a/src/os/unix/ngx_alloc.c b/src/os/unix/ngx_alloc.c --- a/src/os/unix/ngx_alloc.c +++ b/src/os/unix/ngx_alloc.c @@ -51,11 +51,15 @@ void * ngx_memalign(size_t alignment, size_t size, ngx_log_t *log) { void *p; + int err; - if (posix_memalign(&p, alignment, size) == -1) { - ngx_log_error(NGX_LOG_EMERG, log, ngx_errno, + err = posix_memalign(&p, alignment, size); + + if (err) { + ngx_log_error(NGX_LOG_EMERG, log, err, "posix_memalign() %uz bytes aligned to %uz failed", size, alignment); + p = NULL; } ngx_log_debug2(NGX_LOG_DEBUG_ALLOC, log, 0,