{"action":"created","comment":{"url":"https://api.github.com/repos/chapel-lang/chapel/pulls/comments/54585595","id":54585595,"diff_hunk":"@@ -337,9 +338,10 @@ qioerr qio_waitpid(int64_t pid,\n \n   if( WIFEXITED(status) ) {\n     *exitcode = WEXITSTATUS(status);\n-    if( WIFSIGNALED(status) ) {\n-      *exitcode = - WSTOPSIG(status);\n-    }\n+    *done = 1;\n+  }\n+  else if( WIFSIGNALED(status) ) {\n+    *exitcode = WTERMSIG(status);","path":"runtime/src/qio/qio_popen.c","position":18,"original_position":18,"commit_id":"71f301ede3092f35217f46e643cd898cf90939f0","original_commit_id":"71f301ede3092f35217f46e643cd898cf90939f0","user":{"login":"nspark","id":2961664,"avatar_url":"https://avatars.githubusercontent.com/u/2961664?v=3","gravatar_id":"","url":"https://api.github.com/users/nspark","html_url":"https://github.com/nspark","followers_url":"https://api.github.com/users/nspark/followers","following_url":"https://api.github.com/users/nspark/following{/other_user}","gists_url":"https://api.github.com/users/nspark/gists{/gist_id}","starred_url":"https://api.github.com/users/nspark/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nspark/subscriptions","organizations_url":"https://api.github.com/users/nspark/orgs","repos_url":"https://api.github.com/users/nspark/repos","events_url":"https://api.github.com/users/nspark/events{/privacy}","received_events_url":"https://api.github.com/users/nspark/received_events","type":"User","site_admin":false},"body":"I missed your intent with the negative exit code for indicating abnormal termination by signal. I agree that's a good feature.","created_at":"2016-03-01T15:45:42Z","updated_at":"2016-03-01T15:45:42Z","html_url":"https://github.com/chapel-lang/chapel/pull/3378#discussion_r54585595","pull_request_url":"https://api.github.com/repos/chapel-lang/chapel/pulls/3378","_links":{"self":{"href":"https://api.github.com/repos/chapel-lang/chapel/pulls/comments/54585595"},"html":{"href":"https://github.com/chapel-lang/chapel/pull/3378#discussion_r54585595"},"pull_request":{"href":"https://api.github.com/repos/chapel-lang/chapel/pulls/3378"}}},"pull_request":{"url":"https://api.github.com/repos/chapel-lang/chapel/pulls/3378","id":60898155,"html_url":"https://github.com/chapel-lang/chapel/pull/3378","diff_url":"https://github.com/chapel-lang/chapel/pull/3378.diff","patch_url":"https://github.com/chapel-lang/chapel/pull/3378.patch","issue_url":"https://api.github.com/repos/chapel-lang/chapel/issues/3378","number":3378,"state":"open","locked":false,"title":"Support sending signals to subprocesses","user":{"login":"nspark","id":2961664,"avatar_url":"https://avatars.githubusercontent.com/u/2961664?v=3","gravatar_id":"","url":"https://api.github.com/users/nspark","html_url":"https://github.com/nspark","followers_url":"https://api.github.com/users/nspark/followers","following_url":"https://api.github.com/users/nspark/following{/other_user}","gists_url":"https://api.github.com/users/nspark/gists{/gist_id}","starred_url":"https://api.github.com/users/nspark/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nspark/subscriptions","organizations_url":"https://api.github.com/users/nspark/orgs","repos_url":"https://api.github.com/users/nspark/repos","events_url":"https://api.github.com/users/nspark/events{/privacy}","received_events_url":"https://api.github.com/users/nspark/received_events","type":"User","site_admin":false},"body":"This PR includes four commits:\r\n* Updated `qio_waitpid()` to properly handle both normal and signal-triggered termination\r\n* Added an error-optional form of `subprocess.poll()` to Spawn.chpl\r\n* Added runtime support for sending signals to subprocesses\r\n* Added Chapel support (and tests) for sending signals to subprocesses\r\n\r\nCurrently there isn't any chpldoc documentation, but I'll update that later if this PR gets code approval.\r\n\r\nRequesting review by @mppf ","created_at":"2016-02-26T20:20:48Z","updated_at":"2016-03-01T15:45:42Z","closed_at":null,"merged_at":null,"merge_commit_sha":"0108694784d47b6013f22d0b702259f8df0649d9","assignee":{"login":"mppf","id":3653132,"avatar_url":"https://avatars.githubusercontent.com/u/3653132?v=3","gravatar_id":"","url":"https://api.github.com/users/mppf","html_url":"https://github.com/mppf","followers_url":"https://api.github.com/users/mppf/followers","following_url":"https://api.github.com/users/mppf/following{/other_user}","gists_url":"https://api.github.com/users/mppf/gists{/gist_id}","starred_url":"https://api.github.com/users/mppf/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mppf/subscriptions","organizations_url":"https://api.github.com/users/mppf/orgs","repos_url":"https://api.github.com/users/mppf/repos","events_url":"https://api.github.com/users/mppf/events{/privacy}","received_events_url":"https://api.github.com/users/mppf/received_events","type":"User","site_admin":false},"milestone":null,"commits_url":"https://api.github.com/repos/chapel-lang/chapel/pulls/3378/commits","review_comments_url":"https://api.github.com/repos/chapel-lang/chapel/pulls/3378/comments","review_comment_url":"https://api.github.com/repos/chapel-lang/chapel/pulls/comments{/number}","comments_url":"https://api.github.com/repos/chapel-lang/chapel/issues/3378/comments","statuses_url":"https://api.github.com/repos/chapel-lang/chapel/statuses/71f301ede3092f35217f46e643cd898cf90939f0","head":{"label":"nspark:subprocess-signal","ref":"subprocess-signal","sha":"71f301ede3092f35217f46e643cd898cf90939f0","user":{"login":"nspark","id":2961664,"avatar_url":"https://avatars.githubusercontent.com/u/2961664?v=3","gravatar_id":"","url":"https://api.github.com/users/nspark","html_url":"https://github.com/nspark","followers_url":"https://api.github.com/users/nspark/followers","following_url":"https://api.github.com/users/nspark/following{/other_user}","gists_url":"https://api.github.com/users/nspark/gists{/gist_id}","starred_url":"https://api.github.com/users/nspark/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nspark/subscriptions","organizations_url":"https://api.github.com/users/nspark/orgs","repos_url":"https://api.github.com/users/nspark/repos","events_url":"https://api.github.com/users/nspark/events{/privacy}","received_events_url":"https://api.github.com/users/nspark/received_events","type":"User","site_admin":false},"repo":{"id":36332193,"name":"chapel","full_name":"nspark/chapel","owner":{"login":"nspark","id":2961664,"avatar_url":"https://avatars.githubusercontent.com/u/2961664?v=3","gravatar_id":"","url":"https://api.github.com/users/nspark","html_url":"https://github.com/nspark","followers_url":"https://api.github.com/users/nspark/followers","following_url":"https://api.github.com/users/nspark/following{/other_user}","gists_url":"https://api.github.com/users/nspark/gists{/gist_id}","starred_url":"https://api.github.com/users/nspark/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nspark/subscriptions","organizations_url":"https://api.github.com/users/nspark/orgs","repos_url":"https://api.github.com/users/nspark/repos","events_url":"https://api.github.com/users/nspark/events{/privacy}","received_events_url":"https://api.github.com/users/nspark/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/nspark/chapel","description":"a Productive Parallel Programming Language","fork":true,"url":"https://api.github.com/repos/nspark/chapel","forks_url":"https://api.github.com/repos/nspark/chapel/forks","keys_url":"https://api.github.com/repos/nspark/chapel/keys{/key_id}","collaborators_url":"https://api.github.com/repos/nspark/chapel/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/nspark/chapel/teams","hooks_url":"https://api.github.com/repos/nspark/chapel/hooks","issue_events_url":"https://api.github.com/repos/nspark/chapel/issues/events{/number}","events_url":"https://api.github.com/repos/nspark/chapel/events","assignees_url":"https://api.github.com/repos/nspark/chapel/assignees{/user}","branches_url":"https://api.github.com/repos/nspark/chapel/branches{/branch}","tags_url":"https://api.github.com/repos/nspark/chapel/tags","blobs_url":"https://api.github.com/repos/nspark/chapel/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/nspark/chapel/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/nspark/chapel/git/refs{/sha}","trees_url":"https://api.github.com/repos/nspark/chapel/git/trees{/sha}","statuses_url":"https://api.github.com/repos/nspark/chapel/statuses/{sha}","languages_url":"https://api.github.com/repos/nspark/chapel/languages","stargazers_url":"https://api.github.com/repos/nspark/chapel/stargazers","contributors_url":"https://api.github.com/repos/nspark/chapel/contributors","subscribers_url":"https://api.github.com/repos/nspark/chapel/subscribers","subscription_url":"https://api.github.com/repos/nspark/chapel/subscription","commits_url":"https://api.github.com/repos/nspark/chapel/commits{/sha}","git_commits_url":"https://api.github.com/repos/nspark/chapel/git/commits{/sha}","comments_url":"https://api.github.com/repos/nspark/chapel/comments{/number}","issue_comment_url":"https://api.github.com/repos/nspark/chapel/issues/comments{/number}","contents_url":"https://api.github.com/repos/nspark/chapel/contents/{+path}","compare_url":"https://api.github.com/repos/nspark/chapel/compare/{base}...{head}","merges_url":"https://api.github.com/repos/nspark/chapel/merges","archive_url":"https://api.github.com/repos/nspark/chapel/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/nspark/chapel/downloads","issues_url":"https://api.github.com/repos/nspark/chapel/issues{/number}","pulls_url":"https://api.github.com/repos/nspark/chapel/pulls{/number}","milestones_url":"https://api.github.com/repos/nspark/chapel/milestones{/number}","notifications_url":"https://api.github.com/repos/nspark/chapel/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/nspark/chapel/labels{/name}","releases_url":"https://api.github.com/repos/nspark/chapel/releases{/id}","deployments_url":"https://api.github.com/repos/nspark/chapel/deployments","created_at":"2015-05-27T00:26:02Z","updated_at":"2016-01-12T00:51:30Z","pushed_at":"2016-02-26T21:48:05Z","git_url":"git://github.com/nspark/chapel.git","ssh_url":"git@github.com:nspark/chapel.git","clone_url":"https://github.com/nspark/chapel.git","svn_url":"https://github.com/nspark/chapel","homepage":"http://chapel.cray.com/","size":346097,"stargazers_count":0,"watchers_count":0,"language":"Chapel","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"chapel-lang:master","ref":"master","sha":"cad0ac03ab654a3134053cbe0c6546798613e494","user":{"login":"chapel-lang","id":7597261,"avatar_url":"https://avatars.githubusercontent.com/u/7597261?v=3","gravatar_id":"","url":"https://api.github.com/users/chapel-lang","html_url":"https://github.com/chapel-lang","followers_url":"https://api.github.com/users/chapel-lang/followers","following_url":"https://api.github.com/users/chapel-lang/following{/other_user}","gists_url":"https://api.github.com/users/chapel-lang/gists{/gist_id}","starred_url":"https://api.github.com/users/chapel-lang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chapel-lang/subscriptions","organizations_url":"https://api.github.com/users/chapel-lang/orgs","repos_url":"https://api.github.com/users/chapel-lang/repos","events_url":"https://api.github.com/users/chapel-lang/events{/privacy}","received_events_url":"https://api.github.com/users/chapel-lang/received_events","type":"Organization","site_admin":false},"repo":{"id":21663285,"name":"chapel","full_name":"chapel-lang/chapel","owner":{"login":"chapel-lang","id":7597261,"avatar_url":"https://avatars.githubusercontent.com/u/7597261?v=3","gravatar_id":"","url":"https://api.github.com/users/chapel-lang","html_url":"https://github.com/chapel-lang","followers_url":"https://api.github.com/users/chapel-lang/followers","following_url":"https://api.github.com/users/chapel-lang/following{/other_user}","gists_url":"https://api.github.com/users/chapel-lang/gists{/gist_id}","starred_url":"https://api.github.com/users/chapel-lang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chapel-lang/subscriptions","organizations_url":"https://api.github.com/users/chapel-lang/orgs","repos_url":"https://api.github.com/users/chapel-lang/repos","events_url":"https://api.github.com/users/chapel-lang/events{/privacy}","received_events_url":"https://api.github.com/users/chapel-lang/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/chapel-lang/chapel","description":"a Productive Parallel Programming Language","fork":false,"url":"https://api.github.com/repos/chapel-lang/chapel","forks_url":"https://api.github.com/repos/chapel-lang/chapel/forks","keys_url":"https://api.github.com/repos/chapel-lang/chapel/keys{/key_id}","collaborators_url":"https://api.github.com/repos/chapel-lang/chapel/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/chapel-lang/chapel/teams","hooks_url":"https://api.github.com/repos/chapel-lang/chapel/hooks","issue_events_url":"https://api.github.com/repos/chapel-lang/chapel/issues/events{/number}","events_url":"https://api.github.com/repos/chapel-lang/chapel/events","assignees_url":"https://api.github.com/repos/chapel-lang/chapel/assignees{/user}","branches_url":"https://api.github.com/repos/chapel-lang/chapel/branches{/branch}","tags_url":"https://api.github.com/repos/chapel-lang/chapel/tags","blobs_url":"https://api.github.com/repos/chapel-lang/chapel/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/chapel-lang/chapel/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/chapel-lang/chapel/git/refs{/sha}","trees_url":"https://api.github.com/repos/chapel-lang/chapel/git/trees{/sha}","statuses_url":"https://api.github.com/repos/chapel-lang/chapel/statuses/{sha}","languages_url":"https://api.github.com/repos/chapel-lang/chapel/languages","stargazers_url":"https://api.github.com/repos/chapel-lang/chapel/stargazers","contributors_url":"https://api.github.com/repos/chapel-lang/chapel/contributors","subscribers_url":"https://api.github.com/repos/chapel-lang/chapel/subscribers","subscription_url":"https://api.github.com/repos/chapel-lang/chapel/subscription","commits_url":"https://api.github.com/repos/chapel-lang/chapel/commits{/sha}","git_commits_url":"https://api.github.com/repos/chapel-lang/chapel/git/commits{/sha}","comments_url":"https://api.github.com/repos/chapel-lang/chapel/comments{/number}","issue_comment_url":"https://api.github.com/repos/chapel-lang/chapel/issues/comments{/number}","contents_url":"https://api.github.com/repos/chapel-lang/chapel/contents/{+path}","compare_url":"https://api.github.com/repos/chapel-lang/chapel/compare/{base}...{head}","merges_url":"https://api.github.com/repos/chapel-lang/chapel/merges","archive_url":"https://api.github.com/repos/chapel-lang/chapel/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/chapel-lang/chapel/downloads","issues_url":"https://api.github.com/repos/chapel-lang/chapel/issues{/number}","pulls_url":"https://api.github.com/repos/chapel-lang/chapel/pulls{/number}","milestones_url":"https://api.github.com/repos/chapel-lang/chapel/milestones{/number}","notifications_url":"https://api.github.com/repos/chapel-lang/chapel/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/chapel-lang/chapel/labels{/name}","releases_url":"https://api.github.com/repos/chapel-lang/chapel/releases{/id}","deployments_url":"https://api.github.com/repos/chapel-lang/chapel/deployments","created_at":"2014-07-09T18:15:54Z","updated_at":"2016-02-29T21:18:01Z","pushed_at":"2016-03-01T01:57:51Z","git_url":"git://github.com/chapel-lang/chapel.git","ssh_url":"git@github.com:chapel-lang/chapel.git","clone_url":"https://github.com/chapel-lang/chapel.git","svn_url":"https://github.com/chapel-lang/chapel","homepage":"http://chapel.cray.com/","size":441398,"stargazers_count":206,"watchers_count":206,"language":"Chapel","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":72,"mirror_url":null,"open_issues_count":9,"forks":72,"open_issues":9,"watchers":206,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/chapel-lang/chapel/pulls/3378"},"html":{"href":"https://github.com/chapel-lang/chapel/pull/3378"},"issue":{"href":"https://api.github.com/repos/chapel-lang/chapel/issues/3378"},"comments":{"href":"https://api.github.com/repos/chapel-lang/chapel/issues/3378/comments"},"review_comments":{"href":"https://api.github.com/repos/chapel-lang/chapel/pulls/3378/comments"},"review_comment":{"href":"https://api.github.com/repos/chapel-lang/chapel/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/chapel-lang/chapel/pulls/3378/commits"},"statuses":{"href":"https://api.github.com/repos/chapel-lang/chapel/statuses/71f301ede3092f35217f46e643cd898cf90939f0"}}}}