Allow concurrent usage of zip library for list, zip and unzip operations #4
This is a first pass at fully concurrent usage of zip operations. So far I've tested with 17 concurrent unzip operations, the speed improvement is substantial for my use case.
One thing I'd invite discussion on is the usage of
I'm guessing there may have been an original need to use this flag to prevent the pointer from getting GC'd, but were there certain circumstances around this? Really long running operations for instance? I've been testing without setting this flag but my general use-case is unzipping 1 file at a time so I may not be prone to hitting this. I was hoping with this refactor that the scoping is a little tighter and perhaps GC worries will go away.
Looking through the code it appears some bits are missing, is the commit complete?
Regarding RF_MarkAsRoot, have you tried typing
Edit: maybe it is complete, apparently I'm not familiar with my own code :). Will pull this and try it out first, but otherwise looks clean.