summaryrefslogtreecommitdiffhomepage
path: root/src/os/unix/ngx_alloc.c
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2009-11-16 15:22:03 +0000
committerIgor Sysoev <igor@sysoev.ru>2009-11-16 15:22:03 +0000
commit41063b3f030e8bcee0dcb1027f3cd71e769d4934 (patch)
tree6af35e721115e833f154f531c0c7bc939031aa57 /src/os/unix/ngx_alloc.c
parentbf6c11e928d505d987a57258df31ab3bcc5bf590 (diff)
downloadnginx-41063b3f030e8bcee0dcb1027f3cd71e769d4934.tar.gz
nginx-41063b3f030e8bcee0dcb1027f3cd71e769d4934.tar.bz2
r3141 merge:
fix posix_memalign() error handling
Diffstat (limited to '')
-rw-r--r--src/os/unix/ngx_alloc.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/os/unix/ngx_alloc.c b/src/os/unix/ngx_alloc.c
index c38d7d27e..253117434 100644
--- 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,