#include <mlocker.h>
Definition at line 36 of file mlocker.h.
◆ mlocker()
| epee::mlocker::mlocker |
( |
void * | ptr, |
|
|
size_t | len ) |
Definition at line 115 of file mlocker.cpp.
115 : ptr(ptr), len(len)
116 {
118 }
static void lock(void *ptr, size_t len)
◆ ~mlocker()
| epee::mlocker::~mlocker |
( |
| ) |
|
Definition at line 120 of file mlocker.cpp.
121 {
123 catch (...) { }
124 }
static void unlock(void *ptr, size_t len)
◆ get_num_locked_objects()
| size_t epee::mlocker::get_num_locked_objects |
( |
| ) |
|
|
static |
Definition at line 167 of file mlocker.cpp.
168 {
170 return num_locked_objects;
171 }
#define CRITICAL_REGION_LOCAL(x)
◆ get_num_locked_pages()
| size_t epee::mlocker::get_num_locked_pages |
( |
| ) |
|
|
static |
Definition at line 161 of file mlocker.cpp.
162 {
164 return map().size();
165 }
◆ get_page_size()
| size_t epee::mlocker::get_page_size |
( |
| ) |
|
|
static |
Definition at line 107 of file mlocker.cpp.
108 {
110 if (page_size == 0)
111 page_size = query_page_size();
112 return page_size;
113 }
◆ lock()
| void epee::mlocker::lock |
( |
void * | ptr, |
|
|
size_t | len ) |
|
static |
Definition at line 126 of file mlocker.cpp.
127 {
129
131 if (page_size == 0)
132 return;
133
135 const size_t first = ((
uintptr_t)ptr) / page_size;
136 const size_t last = (((
uintptr_t)ptr) + len - 1) / page_size;
137 for (size_t page = first; page <= last; ++page)
138 lock_page(page);
139 ++num_locked_objects;
140
142 }
static size_t get_page_size()
#define CATCH_ENTRY_L1(lacation, return_val)
_W64 unsigned int uintptr_t
◆ unlock()
| void epee::mlocker::unlock |
( |
void * | ptr, |
|
|
size_t | len ) |
|
static |
Definition at line 144 of file mlocker.cpp.
145 {
147
149 if (page_size == 0)
150 return;
152 const size_t first = ((
uintptr_t)ptr) / page_size;
153 const size_t last = (((
uintptr_t)ptr) + len - 1) / page_size;
154 for (size_t page = first; page <= last; ++page)
155 unlock_page(page);
156 --num_locked_objects;
157
159 }
The documentation for this class was generated from the following files:
- /home/abuild/rpmbuild/BUILD/electroneum-5.1.3.1-build/electroneum-5.1.3.1/contrib/epee/include/mlocker.h
- /home/abuild/rpmbuild/BUILD/electroneum-5.1.3.1-build/electroneum-5.1.3.1/contrib/epee/src/mlocker.cpp