Coverage Report

Created: 2025-11-16 06:39

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/nginx/src/os/unix/ngx_alloc.c
Line
Count
Source
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
2.66k
{
20
2.66k
    void  *p;
21
22
2.66k
    p = malloc(size);
23
2.66k
    if (p == NULL) {
24
0
        ngx_log_error(NGX_LOG_EMERG, log, ngx_errno,
25
0
                      "malloc(%uz) failed", size);
26
0
    }
27
28
2.66k
    ngx_log_debug2(NGX_LOG_DEBUG_ALLOC, log, 0, "malloc: %p:%uz", p, size);
29
30
2.66k
    return p;
31
2.66k
}
32
33
34
void *
35
ngx_calloc(size_t size, ngx_log_t *log)
36
0
{
37
0
    void  *p;
38
39
0
    p = ngx_alloc(size, log);
40
41
0
    if (p) {
42
0
        ngx_memzero(p, size);
43
0
    }
44
45
0
    return p;
46
0
}
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
144
{
54
144
    void  *p;
55
144
    int    err;
56
57
144
    err = posix_memalign(&p, alignment, size);
58
59
144
    if (err) {
60
0
        ngx_log_error(NGX_LOG_EMERG, log, err,
61
0
                      "posix_memalign(%uz, %uz) failed", alignment, size);
62
0
        p = NULL;
63
0
    }
64
65
144
    ngx_log_debug3(NGX_LOG_DEBUG_ALLOC, log, 0,
66
144
                   "posix_memalign: %p:%uz @%uz", p, size, alignment);
67
68
144
    return p;
69
144
}
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