Annotation of embedaddon/nginx/src/os/unix/ngx_alloc.c, revision 1.1
1.1 ! misho 1:
! 2: /*
! 3: * Copyright (C) Igor Sysoev
! 4: * Copyright (C) Nginx, Inc.
! 5: */
! 6:
! 7:
! 8: #include <ngx_config.h>
! 9: #include <ngx_core.h>
! 10:
! 11:
! 12: ngx_uint_t ngx_pagesize;
! 13: ngx_uint_t ngx_pagesize_shift;
! 14: ngx_uint_t ngx_cacheline_size;
! 15:
! 16:
! 17: void *
! 18: ngx_alloc(size_t size, ngx_log_t *log)
! 19: {
! 20: void *p;
! 21:
! 22: p = malloc(size);
! 23: if (p == NULL) {
! 24: ngx_log_error(NGX_LOG_EMERG, log, ngx_errno,
! 25: "malloc(%uz) failed", size);
! 26: }
! 27:
! 28: ngx_log_debug2(NGX_LOG_DEBUG_ALLOC, log, 0, "malloc: %p:%uz", p, size);
! 29:
! 30: return p;
! 31: }
! 32:
! 33:
! 34: void *
! 35: ngx_calloc(size_t size, ngx_log_t *log)
! 36: {
! 37: void *p;
! 38:
! 39: p = ngx_alloc(size, log);
! 40:
! 41: if (p) {
! 42: ngx_memzero(p, size);
! 43: }
! 44:
! 45: return p;
! 46: }
! 47:
! 48:
! 49: #if (NGX_HAVE_POSIX_MEMALIGN)
! 50:
! 51: void *
! 52: ngx_memalign(size_t alignment, size_t size, ngx_log_t *log)
! 53: {
! 54: void *p;
! 55: int err;
! 56:
! 57: err = posix_memalign(&p, alignment, size);
! 58:
! 59: if (err) {
! 60: ngx_log_error(NGX_LOG_EMERG, log, err,
! 61: "posix_memalign(%uz, %uz) failed", alignment, size);
! 62: p = NULL;
! 63: }
! 64:
! 65: ngx_log_debug3(NGX_LOG_DEBUG_ALLOC, log, 0,
! 66: "posix_memalign: %p:%uz @%uz", p, size, alignment);
! 67:
! 68: return p;
! 69: }
! 70:
! 71: #elif (NGX_HAVE_MEMALIGN)
! 72:
! 73: void *
! 74: ngx_memalign(size_t alignment, size_t size, ngx_log_t *log)
! 75: {
! 76: void *p;
! 77:
! 78: p = memalign(alignment, size);
! 79: if (p == NULL) {
! 80: ngx_log_error(NGX_LOG_EMERG, log, ngx_errno,
! 81: "memalign(%uz, %uz) failed", alignment, size);
! 82: }
! 83:
! 84: ngx_log_debug3(NGX_LOG_DEBUG_ALLOC, log, 0,
! 85: "memalign: %p:%uz @%uz", p, size, alignment);
! 86:
! 87: return p;
! 88: }
! 89:
! 90: #endif
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>