{"action":"created","issue":{"url":"https://api.github.com/repos/martine/ninja/issues/967","labels_url":"https://api.github.com/repos/martine/ninja/issues/967/labels{/name}","comments_url":"https://api.github.com/repos/martine/ninja/issues/967/comments","events_url":"https://api.github.com/repos/martine/ninja/issues/967/events","html_url":"https://github.com/martine/ninja/pull/967","id":73902452,"number":967,"title":"Wake ppoll/pselect on SIGCHLD","user":{"login":"axw","id":843579,"avatar_url":"https://avatars.githubusercontent.com/u/843579?v=3","gravatar_id":"","url":"https://api.github.com/users/axw","html_url":"https://github.com/axw","followers_url":"https://api.github.com/users/axw/followers","following_url":"https://api.github.com/users/axw/following{/other_user}","gists_url":"https://api.github.com/users/axw/gists{/gist_id}","starred_url":"https://api.github.com/users/axw/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/axw/subscriptions","organizations_url":"https://api.github.com/users/axw/orgs","repos_url":"https://api.github.com/users/axw/repos","events_url":"https://api.github.com/users/axw/events{/privacy}","received_events_url":"https://api.github.com/users/axw/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":16,"created_at":"2015-05-07T08:48:32Z","updated_at":"2015-06-30T04:07:26Z","closed_at":"2015-06-30T04:07:25Z","pull_request":{"url":"https://api.github.com/repos/martine/ninja/pulls/967","html_url":"https://github.com/martine/ninja/pull/967","diff_url":"https://github.com/martine/ninja/pull/967.diff","patch_url":"https://github.com/martine/ninja/pull/967.patch"},"body":"This change introduces a sigaction for\nSIGCHLD, which causes ppoll and pselect\nto return -1/EINTR if a child dies before\na pipe becomes readable. We then check\nfor dead children, leaving them in a\nwaitable state for Finish.\n\nFixes #965\nObsoletes #966"},"comment":{"url":"https://api.github.com/repos/martine/ninja/issues/comments/116945038","html_url":"https://github.com/martine/ninja/pull/967#issuecomment-116945038","issue_url":"https://api.github.com/repos/martine/ninja/issues/967","id":116945038,"user":{"login":"nico","id":3487,"avatar_url":"https://avatars.githubusercontent.com/u/3487?v=3","gravatar_id":"","url":"https://api.github.com/users/nico","html_url":"https://github.com/nico","followers_url":"https://api.github.com/users/nico/followers","following_url":"https://api.github.com/users/nico/following{/other_user}","gists_url":"https://api.github.com/users/nico/gists{/gist_id}","starred_url":"https://api.github.com/users/nico/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nico/subscriptions","organizations_url":"https://api.github.com/users/nico/orgs","repos_url":"https://api.github.com/users/nico/repos","events_url":"https://api.github.com/users/nico/events{/privacy}","received_events_url":"https://api.github.com/users/nico/received_events","type":"User","site_admin":false},"created_at":"2015-06-30T04:07:25Z","updated_at":"2015-06-30T04:07:25Z","body":"Since this patch does make ninja a bit more complicated. we discussed this a bit on IRC. Supporting `command = foo&` doesn't seem very interesting. For the use case of making gotest work (a script that spawns `sleep $long_time` in the background), it sounds like it's possible to make that work by piping that sleep call's handles to /dev/null (or similar) to work around this. So it sounds like this change won't be needed for now."}}