Annotation of embedaddon/nginx/src/os/unix/ngx_alloc.c, revision 1.1.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>