{"action":"created","issue":{"url":"https://api.github.com/repos/pantsbuild/pants/issues/1473","labels_url":"https://api.github.com/repos/pantsbuild/pants/issues/1473/labels{/name}","comments_url":"https://api.github.com/repos/pantsbuild/pants/issues/1473/comments","events_url":"https://api.github.com/repos/pantsbuild/pants/issues/1473/events","html_url":"https://github.com/pantsbuild/pants/pull/1473","id":72192784,"number":1473,"title":"[Trigger CI] propagate keyboard interrupts from worker threads","user":{"login":"baroquebobcat","id":7378,"avatar_url":"https://avatars.githubusercontent.com/u/7378?v=3","gravatar_id":"","url":"https://api.github.com/users/baroquebobcat","html_url":"https://github.com/baroquebobcat","followers_url":"https://api.github.com/users/baroquebobcat/followers","following_url":"https://api.github.com/users/baroquebobcat/following{/other_user}","gists_url":"https://api.github.com/users/baroquebobcat/gists{/gist_id}","starred_url":"https://api.github.com/users/baroquebobcat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/baroquebobcat/subscriptions","organizations_url":"https://api.github.com/users/baroquebobcat/orgs","repos_url":"https://api.github.com/users/baroquebobcat/repos","events_url":"https://api.github.com/users/baroquebobcat/events{/privacy}","received_events_url":"https://api.github.com/users/baroquebobcat/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-04-30T15:20:49Z","updated_at":"2015-04-30T16:59:42Z","closed_at":"2015-04-30T16:59:42Z","pull_request":{"url":"https://api.github.com/repos/pantsbuild/pants/pulls/1473","html_url":"https://github.com/pantsbuild/pants/pull/1473","diff_url":"https://github.com/pantsbuild/pants/pull/1473.diff","patch_url":"https://github.com/pantsbuild/pants/pull/1473.patch"},"body":"If a worker thread happens to be the active thread, Ctrl-C will kill it, but not the pants process because the interrupt isn't propagated to the main thread. This changes the WorkerPool s.t. it's work definition will intercept a keyboard interrupt and interrupt main"},"comment":{"url":"https://api.github.com/repos/pantsbuild/pants/issues/comments/97880362","html_url":"https://github.com/pantsbuild/pants/pull/1473#issuecomment-97880362","issue_url":"https://api.github.com/repos/pantsbuild/pants/issues/1473","id":97880362,"user":{"login":"baroquebobcat","id":7378,"avatar_url":"https://avatars.githubusercontent.com/u/7378?v=3","gravatar_id":"","url":"https://api.github.com/users/baroquebobcat","html_url":"https://github.com/baroquebobcat","followers_url":"https://api.github.com/users/baroquebobcat/followers","following_url":"https://api.github.com/users/baroquebobcat/following{/other_user}","gists_url":"https://api.github.com/users/baroquebobcat/gists{/gist_id}","starred_url":"https://api.github.com/users/baroquebobcat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/baroquebobcat/subscriptions","organizations_url":"https://api.github.com/users/baroquebobcat/orgs","repos_url":"https://api.github.com/users/baroquebobcat/repos","events_url":"https://api.github.com/users/baroquebobcat/events{/privacy}","received_events_url":"https://api.github.com/users/baroquebobcat/received_events","type":"User","site_admin":false},"created_at":"2015-04-30T16:59:42Z","updated_at":"2015-04-30T16:59:42Z","body":"merged at 0300c22c98fd486c7571e343dea76fc8f2db3152\r\n"}}