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. --
