[Haskell-cafe] Space leak with recursion

Tom Ellis tom-lists-haskell-cafe-2013 at jaguarpaw.co.uk
Fri Apr 24 09:15:31 UTC 2015

On Fri, Apr 24, 2015 at 10:04:06AM +0100, Tom Ellis wrote:
> In that case the most important thing to do is to try to reproduce the space
> leak without the snapshot socket.

In fact I think we can already deduce the answer from the implementation of


The key point is that the [Poll s m] list is `mapM`ed over.  Each handler is
checked for a match and then fired or not fired before the next handler is
checked for a match.  This means that if you call `pollSockets` in a handler
you are leaking the space associated with the unprocessed entries.


More information about the Haskell-Cafe mailing list