xref: /unit/src/nxt_mem_map.c (revision 0:a63ceefd6ab0)
1 
2 /*
3  * Copyright (C) Igor Sysoev
4  * Copyright (C) NGINX, Inc.
5  */
6 
7 #include <nxt_main.h>
8 
9 
10 void *
nxt_mem_mmap(void * addr,size_t len,nxt_uint_t protection,nxt_uint_t flags,nxt_fd_t fd,nxt_off_t offset)11 nxt_mem_mmap(void *addr, size_t len, nxt_uint_t protection, nxt_uint_t flags,
12     nxt_fd_t fd, nxt_off_t offset)
13 {
14     void  *p;
15 
16     p = mmap(addr, len, protection, flags, fd, offset);
17 
18     if (nxt_fast_path(p != MAP_FAILED)) {
19         nxt_thread_log_debug("mmap(%p, %uz, %uxi, %uxi, %FD, %O): %p",
20                        addr, len, protection, flags, fd, offset, p);
21 
22     } else {
23         nxt_thread_log_alert("mmap(%p, %uz, %ui, %ui, %FD, %O) failed %E",
24                        addr, len, protection, flags, fd, offset, nxt_errno);
25     }
26 
27     return p;
28 }
29 
30 
31 void
nxt_mem_munmap(void * addr,size_t len)32 nxt_mem_munmap(void *addr, size_t len)
33 {
34     if (nxt_fast_path(munmap(addr, len) == 0)) {
35         nxt_thread_log_debug("munmap(%p, %uz)", addr, len);
36 
37     } else {
38         nxt_thread_log_alert("munmap(%p, %uz) failed %E", addr, len, nxt_errno);
39     }
40 }
41