8cc7dee111a52eed9f6e65a01e67730af13b43b4
braney
  Thu Jun 6 15:30:22 2019 -0700
ongoing work on trackDb caching in shared memory

diff --git src/lib/localmem.c src/lib/localmem.c
index 8c5a33c..ac17ff3 100644
--- src/lib/localmem.c
+++ src/lib/localmem.c
@@ -89,30 +89,48 @@
 {
 return lmGuts(blockSize, mem);
 }
 
 void lmCleanup(struct lm **pLm)
 /* Clean up a local memory pool. */
 {
     struct lm *lm = *pLm;
     if (lm == NULL)
         return;
     *pLm = NULL;
     slFreeList(&lm->blocks);
     freeMem(lm);
 }
 
+unsigned int lmBlockHeaderSize()
+// Return the size of an lmBlock.
+{
+return sizeof(struct lmBlock);
+}
+
+size_t lmUsed(struct lm *lm)
+// Returns amount of memory allocated
+{
+size_t used = 0;
+
+struct lmBlock *mb = lm->blocks;
+for (;mb != NULL;mb = mb->next)
+    used += (mb->free - (char *)(mb+1));
+
+return used;
+}
+
 size_t lmAvailable(struct lm *lm)
 // Returns currently available memory in pool
 {
 struct lmBlock *mb = lm->blocks;
 return (mb->end - mb->free);
 }
 
 size_t lmSize(struct lm *lm)
 // Returns current size of pool, even for memory already allocated
 {
 size_t fullSize = 0;
 
 struct lmBlock *mb = lm->blocks;
 for (;mb != NULL;mb = mb->next)
     fullSize += (mb->end - (char *)(mb+1));