1. A thread named MainThread doesn't always exist (see #69, some comments #78). 2. Shutting down when the main thread exits may be the wrong thing to do; perhaps the main thread starts a thread pool of workers and then exits. Perhaps it would be better to just set all the crochet threads to be daemon threads. Downsides: 1. No reactor shutdown events. 2. An occasional segfault? Though maybe modern Python is better than that.
Perhaps it would be better to just set all the crochet threads to be daemon threads.
Downsides: