On Sunday, 3 May 2015 at 14:36:04 UTC, Martin Nowak wrote:
On Sunday, 3 May 2015 at 12:33:36 UTC, Dzugaru wrote:

Actually the documentation answers your question, please help to improve it if you don't find it clear enough.
http://dlang.org/phobos/core_thread.html#.Fiber.reset

Created a pull request with your answer added to a Fiber reset method description. In my opinion it should be either disallowed to reset the fiber in a HOLD state or clearly documented that stack wont be cleaned. I'm dreaded to think about random crashes in my app some hours after launch because of fiber reusing. Also, I'm not familiar with contract programming, but shouldn't the "in" "body" clause be included in all overloads of a reset, not just first?

Now I'm thinking about how to do unfinished fiber reusing properly. Adding "if(!isFibTerminated) return;" after every "Fiber.yield()" is not good :(

Reply via email to