Btw, in latest Gjallar 0.5 I rewrote the Magma pool. It is "different" and perhaps a tad simpler to follow. I had some issues with the earlier one - often got stuck in a Semaphore inside it when developing - ended up rewriting, it might have been an easy fix though.
The new one uses a different strategy/design - it has a running background allocator that allocates new Magma sessions when a session is popped from the pool. And you can tell it how many "ahead" it should have. Kinda like the earlier one, although different. :)
regards, Göran