> Add an actual example here at least of how with the proposed feature your code would then look.
That's the part I am not sure at all about in fact. I don't know at all the internals in the shutdown process in Python and I was hoping Antoine would give us a proposal here.
I would suspect simply adding to the base thread class an .atexit() method that's called when atexit() is called, would do the trick since we'd be able to do things like:
def atexit(self):
... do whatever cleanup needed...
self.join()
but I have no real experience in these internals.