On 9/17/20 12:46 PM, IGotD- wrote:
The only way is to return from main. The thing is that druntime runs
initialization before main and then returning from main it runs all the
tear down code including cleaning up the GC. This means there is no
equivalent of the exit function in the C library. Calling exit from D
means that there will be no cleanup in D environment.
...
I never considered this -- so when I call core.stdc.stdlib : exit, none
of my destructors get called?
Presumably also not scope(exit) blocks?
If this is the case, could we simply add a publically-accessible
shutdown hook in the runtime?