Sometimes hitting ctrl-c, mozregression can take a few seconds to stop. The root cause is because we are waiting for threads to join, using concurrent.futures. While this module is great, it does not allow the daemon thing that standard python does. So we can't abruptly kill threads on exit, and sometimes mozregression hangs (thus depending on the network as we are mainly doing network related work in threads).
Created attachment 8655755 [details] [review] keyboard interrupt hangs sometimes So this patch remove the concurrent.future dependency, and allows ctrl-c to finish almost instantly (within 0.1 second, this is not noticeable).
Comment on attachment 8655755 [details] [review] keyboard interrupt hangs sometimes This looks sensible, it's too bad we can't get concurrent.futures to do what we need here. :(
Yes, this seems to be a bug of the backport for python 2.7 of futures, see https://github.com/ross/requests-futures/issues/14.