summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsletz <sletz@0c269be4-1314-0410-8aa9-9f06e86f4224>2011-11-07 15:13:18 +0000
committersletz <sletz@0c269be4-1314-0410-8aa9-9f06e86f4224>2011-11-07 15:13:18 +0000
commit31df097fdee2d3d1aa6c51b6a312b234ed9fb62e (patch)
tree07a38f79f781716d457e3653b210384c3392f1ae
parent7cef8825c56b072ac90d058e53956a166ff8e507 (diff)
downloadjack2-31df097fdee2d3d1aa6c51b6a312b234ed9fb62e.tar.gz
CHECK_MLOCK updated for Windows(2).
git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@4576 0c269be4-1314-0410-8aa9-9f06e86f4224
-rw-r--r--windows/JackShmMem_os.h35
1 files changed, 19 insertions, 16 deletions
diff --git a/windows/JackShmMem_os.h b/windows/JackShmMem_os.h
index 387bb58f..ac803d2b 100644
--- a/windows/JackShmMem_os.h
+++ b/windows/JackShmMem_os.h
@@ -25,22 +25,25 @@
// See GetProcessWorkingSetSize and SetProcessWorkingSetSize
-#define CHECK_MLOCK(ptr, size) \
-{ \
- if (VirtualLock((ptr), (size)) == 0) { \
- SIZE_T minWSS, maxWSS; \
- HANDLE hProc = GetCurrentProcess(); \
- if (GetProcessWorkingSetSize(hProc, &minWSS, &maxWSS)) { \
- const size_t increase = size + (10 * 4096); \
- maxWSS += increase; minWSS += increase; \
- if (!SetProcessWorkingSetSize(hProc, minWSS, maxWSS)) { \
- jack_error("SetProcessWorkingSetSize error %d", GetLastError()); \
- } else if (!VirtualLock(ptr, size)) { \
- jack_error("VirtualLock error %d", GetLastError()); \
- } \
- } \
- } \
-} \
+bool CHECK_MLOCK(ptr, size)
+{
+ if (!VirtualLock((ptr), (size))) {
+ SIZE_T minWSS, maxWSS;
+ HANDLE hProc = GetCurrentProcess();
+ if (GetProcessWorkingSetSize(hProc, &minWSS, &maxWSS)) {
+ const size_t increase = size + (10 * 4096);
+ maxWSS += increase; minWSS += increase;
+ if (!SetProcessWorkingSetSize(hProc, minWSS, maxWSS)) {
+ jack_error("SetProcessWorkingSetSize error %d", GetLastError());
+ } else if (!VirtualLock((ptr), (size))) {
+ jack_error("VirtualLock error %d", GetLastError());
+ } else {
+ return true;
+ }
+ }
+ }
+ return false;
+}
#define CHECK_MUNLOCK(ptr, size) (VirtualUnlock((ptr), (size)) != 0)
#define CHECK_MLOCKALL()(false)
#define CHECK_MUNLOCKALL()(false)