Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Keep the message window around until all remaining threads complete. (#…
…16944) Improves fix for #16933 Improves upon pr #16934 Summary of the issue: In PR #16934, it was ensured that NVDA's mutex would not be released until all remaining non-daemon threads were joined and completed. Otherwise, the NVDA process may stay around because of remaining background threads, such as the Braille auto detector worker thread. However, the joining of the threads was done after NVDA's message window was destroyed, therefore making it impossible for a new instance of NVDA to locate and kill off the old NVDA if it truly was taking way too long. Description of user facing changes An old NvDA has more chance of being killed off if it is taking too long to exit when a new copy of NVDA is trying to start. Description of development approach Move the joining of the non-daemon threads out of nvda.pyw, and into the bottom of core.main. Also ensure that destroying the message window is the very last action taken. So the ordering of the end of core.main is now: terminate all subsystems Join threads destroy the message window.
- Loading branch information