diff options
author | sletz <sletz@0c269be4-1314-0410-8aa9-9f06e86f4224> | 2011-11-07 15:13:18 +0000 |
---|---|---|
committer | sletz <sletz@0c269be4-1314-0410-8aa9-9f06e86f4224> | 2011-11-07 15:13:18 +0000 |
commit | 31df097fdee2d3d1aa6c51b6a312b234ed9fb62e (patch) | |
tree | 07a38f79f781716d457e3653b210384c3392f1ae | |
parent | 7cef8825c56b072ac90d058e53956a166ff8e507 (diff) | |
download | jack2-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.h | 35 |
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) |