ngx_alloc.c

来自「nginx 反向代理0.7.1版本 用于实现反向代理」· C语言 代码 · 共 88 行

C
88
字号
/* * Copyright (C) Igor Sysoev */#include <ngx_config.h>#include <ngx_core.h>ngx_uint_t  ngx_pagesize;ngx_uint_t  ngx_pagesize_shift;ngx_uint_t  ngx_cacheline_size;void *ngx_alloc(size_t size, ngx_log_t *log){    void  *p;    p = malloc(size);    if (p == NULL) {        ngx_log_error(NGX_LOG_EMERG, log, ngx_errno,                      "malloc() %uz bytes failed", size);    }    ngx_log_debug2(NGX_LOG_DEBUG_ALLOC, log, 0, "malloc: %p:%uz", p, size);    return p;}void *ngx_calloc(size_t size, ngx_log_t *log){    void  *p;    p = ngx_alloc(size, log);    if (p) {        ngx_memzero(p, size);    }    return p;}#if (NGX_HAVE_POSIX_MEMALIGN)void *ngx_memalign(size_t alignment, size_t size, ngx_log_t *log){    void  *p;    if (posix_memalign(&p, alignment, size) == -1) {        ngx_log_error(NGX_LOG_EMERG, log, ngx_errno,                      "posix_memalign() %uz bytes aligned to %uz failed",                      size, alignment);    }    ngx_log_debug2(NGX_LOG_DEBUG_ALLOC, log, 0,                   "posix_memalign: %p:%uz", p, size);    return p;}#elif (NGX_HAVE_MEMALIGN)void *ngx_memalign(size_t alignment, size_t size, ngx_log_t *log){    void  *p;    p = memalign(alignment, size);    if (p == NULL) {        ngx_log_error(NGX_LOG_EMERG, log, ngx_errno,                      "memalign() %uz bytes aligned to %uz failed",                      size, alignment);    }    ngx_log_debug2(NGX_LOG_DEBUG_ALLOC, log, 0,                   "memalign: %p:%uz", p, size);    return p;}#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?