From 40ffe171a7951d3019b3c8b488be87bfad405509 Mon Sep 17 00:00:00 2001 From: robert Date: Thu, 22 Sep 2011 23:32:10 +0000 Subject: import of nginx 1.0.6 with a bundled libpcre needed for pcre to work properly. this is not yet linked to the build but we would like to work on it in tree to provide an apache replacement for base --- usr.sbin/nginx/src/os/unix/ngx_alloc.c | 89 ++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 usr.sbin/nginx/src/os/unix/ngx_alloc.c (limited to 'usr.sbin/nginx/src/os/unix/ngx_alloc.c') diff --git a/usr.sbin/nginx/src/os/unix/ngx_alloc.c b/usr.sbin/nginx/src/os/unix/ngx_alloc.c new file mode 100644 index 00000000000..c71a10254c6 --- /dev/null +++ b/usr.sbin/nginx/src/os/unix/ngx_alloc.c @@ -0,0 +1,89 @@ + +/* + * Copyright (C) Igor Sysoev + */ + + +#include +#include + + +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) 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; + int err; + + err = posix_memalign(&p, alignment, size); + + if (err) { + ngx_log_error(NGX_LOG_EMERG, log, err, + "posix_memalign(%uz, %uz) failed", alignment, size); + p = NULL; + } + + ngx_log_debug3(NGX_LOG_DEBUG_ALLOC, log, 0, + "posix_memalign: %p:%uz @%uz", p, size, alignment); + + 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, %uz) failed", alignment, size); + } + + ngx_log_debug3(NGX_LOG_DEBUG_ALLOC, log, 0, + "memalign: %p:%uz @%uz", p, size, alignment); + + return p; +} + +#endif -- cgit v1.2.3-59-g8ed1b