comparison src/os/unix/ngx_alloc.c @ 3338:c6a9e05de301 stable-0.7

r3141 merge: fix posix_memalign() error handling
author Igor Sysoev <igor@sysoev.ru>
date Mon, 16 Nov 2009 15:22:03 +0000
parents 201d017ea470
children 93e8daca5dbb
comparison
equal deleted inserted replaced
3337:44df6e76c28b 3338:c6a9e05de301
49 49
50 void * 50 void *
51 ngx_memalign(size_t alignment, size_t size, ngx_log_t *log) 51 ngx_memalign(size_t alignment, size_t size, ngx_log_t *log)
52 { 52 {
53 void *p; 53 void *p;
54 int err;
54 55
55 if (posix_memalign(&p, alignment, size) == -1) { 56 err = posix_memalign(&p, alignment, size);
56 ngx_log_error(NGX_LOG_EMERG, log, ngx_errno, 57
58 if (err) {
59 ngx_log_error(NGX_LOG_EMERG, log, err,
57 "posix_memalign() %uz bytes aligned to %uz failed", 60 "posix_memalign() %uz bytes aligned to %uz failed",
58 size, alignment); 61 size, alignment);
62 p = NULL;
59 } 63 }
60 64
61 ngx_log_debug2(NGX_LOG_DEBUG_ALLOC, log, 0, 65 ngx_log_debug2(NGX_LOG_DEBUG_ALLOC, log, 0,
62 "posix_memalign: %p:%uz", p, size); 66 "posix_memalign: %p:%uz", p, size);
63 67