mirror of https://github.com/sbt/sbt.git
Frequently ctrl+c does not work to cancel the running tasks. This seems to be because the signal handler is bound to a specific instance of evaluate task but there may be multiple instances of evaluate task running at any given time. Shutting down just one of the running engines does not ensure that task evaluation stops. To work around this, we can globally store all of the completion services in a weak hash map and cancel all of them whenever a signal is received. Closing the service, which happens at the end of task evaluation will remove the service from the map so hopefully this shouldn't introduce a memory leak. |
||
|---|---|---|
| .. | ||
| src/main/scala/sbt | ||
| NOTICE | ||