Eric Snow <ericsnowcurren...@gmail.com> added the comment:
Note that in Python 3.7 we consolidated a bunch of the global runtime state. The "main_thread" static in ceval.c moved to the internal struct _PyRuntimestate and in 3.7 it is accessible as _Runtime.ceval.pending.main_thread (but only if you build with Py_BUILD_CORE, which extensions shouldn't). In 3.8 it was moved to the top of the struct as _PyRuntimeState.main_thread. All that said, that thread ID is still not exposed directly in Python. So perhaps it would make sense to add something like sys.get_main_thread_id, which Lib/threading.py could then use (rather than assuming the current (during import) thread is the main thread). Unfortunately, this wouldn't help with anything earlier than 3.9. Currently 3.8 is already in beta1, where we apply a feature freeze, so it's barely too late for 3.8. I suppose you could ask for a special exception from the release manager, given the change would be relatively small, with real benefits, but don't expect it. :) ---------- nosy: +brett.cannon, eric.snow versions: +Python 3.8, Python 3.9 -Python 3.7 _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue37416> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com