Hi, Mathieu Othacehe <[email protected]> skribis:
>> ERROR: In procedure make-stack: >> Attempt to suspend fiber within continuation barrier > > Turns out "par-map" call does not seem suspendable, even though I'm not > sure why. Maybe Ludo can help here :) ? ‘par-map’ is implemented in terms of futures, and futures use their own thread pool. What’s likely to block is ‘touch’: it essentially waits on a condition variable, which Fibers cannot interrupt. I’d say that mixing fibers and ‘par-map’ is a bad idea. :-) If we need such a thing, I think we should implement it on top of Fibers. Implementing futures on top of fibers + channels should be easier than what (ice-9 futures) does. > This is fixed with: 761443bca6178b4ac299a8bd368d1cac4abda5f8. Why not just replace ‘par-map’ with ‘map’? That sounds easier and I suspect it doesn’t change much performance-wise. (There’s a 2nd use of ‘par-map’ in that file.) Thanks, Ludo’.
