diff options
author | Jostein Berre Eliassen <josteinpost@gmail.com> | 2014-05-20 00:44:16 +0200 |
---|---|---|
committer | Jostein Berre Eliassen <josteinpost@gmail.com> | 2014-05-20 00:44:16 +0200 |
commit | f5ed8f3a1b1b23af2b06ba9d6fc4e4bc80e1f4cf (patch) | |
tree | 02108055fa1866b3e0c97ccc2349bd49680db986 /lib/system | |
parent | e54ab22bf9a67353e5a70f56e7801624d68ca4f5 (diff) | |
download | Nim-f5ed8f3a1b1b23af2b06ba9d6fc4e4bc80e1f4cf.tar.gz |
added getTotalSharedMem et al.
Diffstat (limited to 'lib/system')
-rw-r--r-- | lib/system/alloc.nim | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/lib/system/alloc.nim b/lib/system/alloc.nim index eaef6cd95..602e5c7fa 100644 --- a/lib/system/alloc.nim +++ b/lib/system/alloc.nim @@ -835,4 +835,20 @@ template instantiateForRegion(allocator: expr) = else: result = realloc(p, newsize) + when hasThreadSupport: + + template sharedMemStatsShared(v: int) {.immediate.} = + acquireSys(heapLock) + result = v + releaseSys(heapLock) + + proc getFreeSharedMem(): int = + sharedMemStatsShared(sharedHeap.freeMem) + + proc getTotalSharedMem(): int = + sharedMemStatsShared(sharedHeap.currMem) + + proc getOccupiedSharedMem(): int = + sharedMemStatsShared(sharedHeap.currMem - sharedHeap.freeMem) + {.pop.} |