{"action":"created","issue":{"url":"https://api.github.com/repos/palantir/go-java-launcher/issues/49","repository_url":"https://api.github.com/repos/palantir/go-java-launcher","labels_url":"https://api.github.com/repos/palantir/go-java-launcher/issues/49/labels{/name}","comments_url":"https://api.github.com/repos/palantir/go-java-launcher/issues/49/comments","events_url":"https://api.github.com/repos/palantir/go-java-launcher/issues/49/events","html_url":"https://github.com/palantir/go-java-launcher/pull/49","id":337703693,"node_id":"MDExOlB1bGxSZXF1ZXN0MTk4ODE5Nzc3","number":49,"title":"go-init multi-process management","user":{"login":"gregakinman","id":6173659,"node_id":"MDQ6VXNlcjYxNzM2NTk=","avatar_url":"https://avatars0.githubusercontent.com/u/6173659?v=4","gravatar_id":"","url":"https://api.github.com/users/gregakinman","html_url":"https://github.com/gregakinman","followers_url":"https://api.github.com/users/gregakinman/followers","following_url":"https://api.github.com/users/gregakinman/following{/other_user}","gists_url":"https://api.github.com/users/gregakinman/gists{/gist_id}","starred_url":"https://api.github.com/users/gregakinman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gregakinman/subscriptions","organizations_url":"https://api.github.com/users/gregakinman/orgs","repos_url":"https://api.github.com/users/gregakinman/repos","events_url":"https://api.github.com/users/gregakinman/events{/privacy}","received_events_url":"https://api.github.com/users/gregakinman/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":8,"created_at":"2018-07-03T00:16:04Z","updated_at":"2018-07-28T14:58:00Z","closed_at":null,"author_association":"COLLABORATOR","pull_request":{"url":"https://api.github.com/repos/palantir/go-java-launcher/pulls/49","html_url":"https://github.com/palantir/go-java-launcher/pull/49","diff_url":"https://github.com/palantir/go-java-launcher/pull/49.diff","patch_url":"https://github.com/palantir/go-java-launcher/pull/49.patch"},"body":"Now go-init also runs the configured `subProcesses`!"},"comment":{"url":"https://api.github.com/repos/palantir/go-java-launcher/issues/comments/408613442","html_url":"https://github.com/palantir/go-java-launcher/pull/49#issuecomment-408613442","issue_url":"https://api.github.com/repos/palantir/go-java-launcher/issues/49","id":408613442,"node_id":"MDEyOklzc3VlQ29tbWVudDQwODYxMzQ0Mg==","user":{"login":"dansanduleac","id":222827,"node_id":"MDQ6VXNlcjIyMjgyNw==","avatar_url":"https://avatars1.githubusercontent.com/u/222827?v=4","gravatar_id":"","url":"https://api.github.com/users/dansanduleac","html_url":"https://github.com/dansanduleac","followers_url":"https://api.github.com/users/dansanduleac/followers","following_url":"https://api.github.com/users/dansanduleac/following{/other_user}","gists_url":"https://api.github.com/users/dansanduleac/gists{/gist_id}","starred_url":"https://api.github.com/users/dansanduleac/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dansanduleac/subscriptions","organizations_url":"https://api.github.com/users/dansanduleac/orgs","repos_url":"https://api.github.com/users/dansanduleac/repos","events_url":"https://api.github.com/users/dansanduleac/events{/privacy}","received_events_url":"https://api.github.com/users/dansanduleac/received_events","type":"User","site_admin":false},"created_at":"2018-07-28T14:58:00Z","updated_at":"2018-07-28T14:58:00Z","author_association":"CONTRIBUTOR","body":"There were a couple of race conditions here:\r\n* Starting the subprocess in the function but then waiting for it in a goroutine (not 100% sure this is a race but looks like one) - solved by starting it in the goroutine\r\n* Not waiting for child to trap signal 15. This became apparent when I logged the WaitStatus of our processes, and when it worked locally it would still say e.g. of two unstoppable processes that one was `terminated` and the other was `killed`, whereas both should have been killed.\r\n  Solved this by opening a new fd 3, and waiting until the process closes it before we can consider it 'ready' and give control back to the test\r\n"}}
{"actor":{"display_login":"dansanduleac"}}