https://issues.dlang.org/show_bug.cgi?id=3462

--- Comment #8 from Sean Kelly <[email protected]> ---
That would work fine for a single-threaded program.  But when you call exit(0)
in a multithreaded program, all shared data is left in an undefined state. 
Mutexes might still be locked, etc.  So it isn't safe to do basically any
cleanup at that point without the risk of deadlock.  C gets around this problem
because multithreading is outside the scope of the language definition, but we
don't have that luxury.  If you simply want the program to halt without cleanup
though, that's much easier.

--

Reply via email to