{"action":"created","issue":{"url":"https://api.github.com/repos/nodejs/node/issues/6477","repository_url":"https://api.github.com/repos/nodejs/node","labels_url":"https://api.github.com/repos/nodejs/node/issues/6477/labels{/name}","comments_url":"https://api.github.com/repos/nodejs/node/issues/6477/comments","events_url":"https://api.github.com/repos/nodejs/node/issues/6477/events","html_url":"https://github.com/nodejs/node/pull/6477","id":151933026,"number":6477,"title":"process: add optional timeout to process.exit()","user":{"login":"jasnell","id":439929,"avatar_url":"https://avatars.githubusercontent.com/u/439929?v=3","gravatar_id":"","url":"https://api.github.com/users/jasnell","html_url":"https://github.com/jasnell","followers_url":"https://api.github.com/users/jasnell/followers","following_url":"https://api.github.com/users/jasnell/following{/other_user}","gists_url":"https://api.github.com/users/jasnell/gists{/gist_id}","starred_url":"https://api.github.com/users/jasnell/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jasnell/subscriptions","organizations_url":"https://api.github.com/users/jasnell/orgs","repos_url":"https://api.github.com/users/jasnell/repos","events_url":"https://api.github.com/users/jasnell/events{/privacy}","received_events_url":"https://api.github.com/users/jasnell/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/nodejs/node/labels/in%20progress","name":"in progress","color":"ededed"},{"url":"https://api.github.com/repos/nodejs/node/labels/process","name":"process","color":"00aaff"},{"url":"https://api.github.com/repos/nodejs/node/labels/semver-minor","name":"semver-minor","color":"fef2c0"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":12,"created_at":"2016-04-29T17:56:05Z","updated_at":"2016-04-29T19:15:55Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/nodejs/node/pulls/6477","html_url":"https://github.com/nodejs/node/pull/6477","diff_url":"https://github.com/nodejs/node/pull/6477.diff","patch_url":"https://github.com/nodejs/node/pull/6477.patch"},"body":"##### Checklist\r\n\r\n- [ ] tests and code linting passes\r\n- [ ] a test and/or benchmark is included\r\n- [ ] documentation is changed or added\r\n- [ ] the commit message follows commit guidelines\r\n\r\n##### Affected core subsystem(s)\r\n\r\nprocess\r\n\r\n##### Description of change\r\n\r\nWhen set, an internal timer will be set that will exit the process at the given timeout. In the meantime, the registered listeners for process.on('exitingSoon') will be invoked and passed a callback to be called when the handler is ready for the process to exit. The process will exit either when the internal timer fires or all the callbacks are called, whichever comes first.\r\n\r\nThis is an attempt to deal more intelligently with resource cleanup and async op completion on exit\r\n\r\nDocs / test case included\r\n\r\nRefs: https://github.com/nodejs/node/issues/6456"},"comment":{"url":"https://api.github.com/repos/nodejs/node/issues/comments/215852685","html_url":"https://github.com/nodejs/node/pull/6477#issuecomment-215852685","issue_url":"https://api.github.com/repos/nodejs/node/issues/6477","id":215852685,"user":{"login":"addaleax","id":899444,"avatar_url":"https://avatars.githubusercontent.com/u/899444?v=3","gravatar_id":"","url":"https://api.github.com/users/addaleax","html_url":"https://github.com/addaleax","followers_url":"https://api.github.com/users/addaleax/followers","following_url":"https://api.github.com/users/addaleax/following{/other_user}","gists_url":"https://api.github.com/users/addaleax/gists{/gist_id}","starred_url":"https://api.github.com/users/addaleax/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/addaleax/subscriptions","organizations_url":"https://api.github.com/users/addaleax/orgs","repos_url":"https://api.github.com/users/addaleax/repos","events_url":"https://api.github.com/users/addaleax/events{/privacy}","received_events_url":"https://api.github.com/users/addaleax/received_events","type":"User","site_admin":false},"created_at":"2016-04-29T19:15:54Z","updated_at":"2016-04-29T19:15:54Z","body":"@jasnell I like that last proposal of yours, and preferably with running `waitForStdioDrain()` by default in some way? That would be possible, right?"}}