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