Are Fibers just broken in D?

Steven Schveighoffer schveiguy at yahoo.com
Tue Apr 24 01:12:44 UTC 2018


On 4/23/18 8:46 PM, Byron Heads wrote:
> Fibers on Win32 have a memory leak for sure:
> 
> import core.thread : Fiber;
> 
> void main() {
> 
>      foreach(ulong i; 0..99_999) {
>          auto foo = new Foo();
>          foo.call();
>          foo.call();
>      }
> }

It sure looks like this should be fine, the GC should clean up all the 
unused fibers.

> Running this with -m64 on windows runs without a problem, but with -m32 
> it failes aith a Memory Allocation failed error.

How many loops until you get a failure?

Is there a particular reason you need to use 32-bit Windows?

-Steve


More information about the Digitalmars-d-learn mailing list