{"action":"created","issue":{"url":"https://api.github.com/repos/Microsoft/ChakraCore/issues/1795","repository_url":"https://api.github.com/repos/Microsoft/ChakraCore","labels_url":"https://api.github.com/repos/Microsoft/ChakraCore/issues/1795/labels{/name}","comments_url":"https://api.github.com/repos/Microsoft/ChakraCore/issues/1795/comments","events_url":"https://api.github.com/repos/Microsoft/ChakraCore/issues/1795/events","html_url":"https://github.com/Microsoft/ChakraCore/pull/1795","id":184375229,"number":1795,"title":"pal : Cherry-pick fix for not blocking signals in ubuntu","user":{"login":"kunalspathak","id":12488060,"avatar_url":"https://avatars.githubusercontent.com/u/12488060?v=3","gravatar_id":"","url":"https://api.github.com/users/kunalspathak","html_url":"https://github.com/kunalspathak","followers_url":"https://api.github.com/users/kunalspathak/followers","following_url":"https://api.github.com/users/kunalspathak/following{/other_user}","gists_url":"https://api.github.com/users/kunalspathak/gists{/gist_id}","starred_url":"https://api.github.com/users/kunalspathak/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kunalspathak/subscriptions","organizations_url":"https://api.github.com/users/kunalspathak/orgs","repos_url":"https://api.github.com/users/kunalspathak/repos","events_url":"https://api.github.com/users/kunalspathak/events{/privacy}","received_events_url":"https://api.github.com/users/kunalspathak/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/Microsoft/ChakraCore/labels/cla-not-required","name":"cla-not-required","color":"009800"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":14,"created_at":"2016-10-21T00:50:18Z","updated_at":"2016-10-21T23:10:36Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/Microsoft/ChakraCore/pulls/1795","html_url":"https://github.com/Microsoft/ChakraCore/pull/1795","diff_url":"https://github.com/Microsoft/ChakraCore/pull/1795.diff","patch_url":"https://github.com/Microsoft/ChakraCore/pull/1795.patch"},"body":"Behavior : I was investigating a hang in node-cc on Ubuntu. The repro was that parent process spawns child process and waits (_epoll in libuv) to receive `SIGCHLD` signal from child process when it terminates. Parent process never receives this signal. Looking at `/proc/<pid>/status` says that `SIGCHLD` is in `SigBlk` (signal blocked) and `ShdPnd` (shared pending signal) state.\r\n\r\nProblem: In UNIX, parent process can mask certain signals from receiving for brief period of time so that signal requests that comes to the parent process doesn’t interfere what it is processing currently. When we create `NativeCodeGenerator`, it calls PAL’s `InitializePreCreate()` which blocks `SIGCHLD` from receiving. Later when libuv waits for `SIGCHLD` it never gets it because it was masked (or blocked) by PAL. Searching on PAL's repo, realized they already fixed the issue. So cherry picking https://github.com/dotnet/coreclr/pull/4863."},"comment":{"url":"https://api.github.com/repos/Microsoft/ChakraCore/issues/comments/255486297","html_url":"https://github.com/Microsoft/ChakraCore/pull/1795#issuecomment-255486297","issue_url":"https://api.github.com/repos/Microsoft/ChakraCore/issues/1795","id":255486297,"user":{"login":"kunalspathak","id":12488060,"avatar_url":"https://avatars.githubusercontent.com/u/12488060?v=3","gravatar_id":"","url":"https://api.github.com/users/kunalspathak","html_url":"https://github.com/kunalspathak","followers_url":"https://api.github.com/users/kunalspathak/followers","following_url":"https://api.github.com/users/kunalspathak/following{/other_user}","gists_url":"https://api.github.com/users/kunalspathak/gists{/gist_id}","starred_url":"https://api.github.com/users/kunalspathak/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kunalspathak/subscriptions","organizations_url":"https://api.github.com/users/kunalspathak/orgs","repos_url":"https://api.github.com/users/kunalspathak/repos","events_url":"https://api.github.com/users/kunalspathak/events{/privacy}","received_events_url":"https://api.github.com/users/kunalspathak/received_events","type":"User","site_admin":false},"created_at":"2016-10-21T23:10:36Z","updated_at":"2016-10-21T23:10:36Z","body":"> I've been updating the mach_exceptions and saw how the codebase is different now.\r\n\r\nI see, then you know more. As you suggested, i have uncommented the `#define`"}}
{"actor":{"display_login":"kunalspathak"}}