This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author Void2258
Recipients Void2258
Date 2018-03-16.17:44:06
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1521222247.28.0.467229070634.issue33087@psf.upfronthosting.co.za>
In-reply-to
Content
Ptyhon lacks a reliable clean shutdown method. sys.exit(), which should be this method, does not reliably perform this function as it merely terminates the thread it is called from (duplicating the functionality of thread.exit()), exit() and quit() are not supposed to be used except in terminal windows, raise SystemExit has the same issues as sys.exit() and is bad practice, and os._exit() immediately kills everything and does not clean up, which can cause issues with residuals.

This is especially important as some interpreters will break calls (including most worryingly try-except clauses) into threads invisibly, leading to whichever method is used being called in a non-main thread without anything the programmer can do about it even when you are not intentionally using threading.

Ideally, sys.exit() should be changed to properly close down the entire program, as there is no need for 2 functionally identical exit functions, but this may cause legacy issues. Regardless, a method that ALWAYS kill the program and all threads while still cleaning up, regardless of where it is called from, is needed.
History
Date User Action Args
2018-03-16 17:44:07Void2258setrecipients: + Void2258
2018-03-16 17:44:07Void2258setmessageid: <1521222247.28.0.467229070634.issue33087@psf.upfronthosting.co.za>
2018-03-16 17:44:07Void2258linkissue33087 messages
2018-03-16 17:44:06Void2258create