{"action":"created","comment":{"url":"https://api.github.com/repos/pexpect/pexpect/pulls/comments/47142593","id":47142593,"diff_hunk":"@@ -430,11 +452,7 @@ def read_nonblocking(self, size=1, timeout=-1):\n         # For this case, I test isalive() before doing any reading.\n         # If isalive() is false, then I pretend that this is the same as EOF.","path":"pexpect/pty_spawn.py","position":41,"original_position":41,"commit_id":"9ae34bd5b9e585d758c6d1afb3d8773941bc0671","original_commit_id":"9ae34bd5b9e585d758c6d1afb3d8773941bc0671","user":{"login":"jdemeyer","id":3625785,"avatar_url":"https://avatars.githubusercontent.com/u/3625785?v=3","gravatar_id":"","url":"https://api.github.com/users/jdemeyer","html_url":"https://github.com/jdemeyer","followers_url":"https://api.github.com/users/jdemeyer/followers","following_url":"https://api.github.com/users/jdemeyer/following{/other_user}","gists_url":"https://api.github.com/users/jdemeyer/gists{/gist_id}","starred_url":"https://api.github.com/users/jdemeyer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jdemeyer/subscriptions","organizations_url":"https://api.github.com/users/jdemeyer/orgs","repos_url":"https://api.github.com/users/jdemeyer/repos","events_url":"https://api.github.com/users/jdemeyer/events{/privacy}","received_events_url":"https://api.github.com/users/jdemeyer/received_events","type":"User","site_admin":false},"body":"> This comment appears to be saying that on Solaris, read on a pty after EOF will block\r\n\r\nThe question is really: what will `select()` do in this situation? If `select()` simply times out, we are safe.","created_at":"2015-12-09T19:54:06Z","updated_at":"2015-12-09T19:54:06Z","html_url":"https://github.com/pexpect/pexpect/pull/304#discussion_r47142593","pull_request_url":"https://api.github.com/repos/pexpect/pexpect/pulls/304","_links":{"self":{"href":"https://api.github.com/repos/pexpect/pexpect/pulls/comments/47142593"},"html":{"href":"https://github.com/pexpect/pexpect/pull/304#discussion_r47142593"},"pull_request":{"href":"https://api.github.com/repos/pexpect/pexpect/pulls/304"}}},"pull_request":{"url":"https://api.github.com/repos/pexpect/pexpect/pulls/304","id":52671097,"html_url":"https://github.com/pexpect/pexpect/pull/304","diff_url":"https://github.com/pexpect/pexpect/pull/304.diff","patch_url":"https://github.com/pexpect/pexpect/pull/304.patch","issue_url":"https://api.github.com/repos/pexpect/pexpect/issues/304","number":304,"state":"open","locked":false,"title":"Read more bytes","user":{"login":"jdemeyer","id":3625785,"avatar_url":"https://avatars.githubusercontent.com/u/3625785?v=3","gravatar_id":"","url":"https://api.github.com/users/jdemeyer","html_url":"https://github.com/jdemeyer","followers_url":"https://api.github.com/users/jdemeyer/followers","following_url":"https://api.github.com/users/jdemeyer/following{/other_user}","gists_url":"https://api.github.com/users/jdemeyer/gists{/gist_id}","starred_url":"https://api.github.com/users/jdemeyer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jdemeyer/subscriptions","organizations_url":"https://api.github.com/users/jdemeyer/orgs","repos_url":"https://api.github.com/users/jdemeyer/repos","events_url":"https://api.github.com/users/jdemeyer/events{/privacy}","received_events_url":"https://api.github.com/users/jdemeyer/received_events","type":"User","site_admin":false},"body":"The `expect_loop()` can sometimes spend about 50% of the time in `new_data()`. This branch tries to read a lot more bytes at once in `read_nonblocking()`.\r\n\r\nDownstream: http://trac.sagemath.org/ticket/10295","created_at":"2015-12-04T13:51:14Z","updated_at":"2015-12-09T19:54:06Z","closed_at":null,"merged_at":null,"merge_commit_sha":"dab50d8dd12779dc37e7470de29d24793017270e","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/pexpect/pexpect/pulls/304/commits","review_comments_url":"https://api.github.com/repos/pexpect/pexpect/pulls/304/comments","review_comment_url":"https://api.github.com/repos/pexpect/pexpect/pulls/comments{/number}","comments_url":"https://api.github.com/repos/pexpect/pexpect/issues/304/comments","statuses_url":"https://api.github.com/repos/pexpect/pexpect/statuses/9ae34bd5b9e585d758c6d1afb3d8773941bc0671","head":{"label":"jdemeyer:read_more_bytes","ref":"read_more_bytes","sha":"9ae34bd5b9e585d758c6d1afb3d8773941bc0671","user":{"login":"jdemeyer","id":3625785,"avatar_url":"https://avatars.githubusercontent.com/u/3625785?v=3","gravatar_id":"","url":"https://api.github.com/users/jdemeyer","html_url":"https://github.com/jdemeyer","followers_url":"https://api.github.com/users/jdemeyer/followers","following_url":"https://api.github.com/users/jdemeyer/following{/other_user}","gists_url":"https://api.github.com/users/jdemeyer/gists{/gist_id}","starred_url":"https://api.github.com/users/jdemeyer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jdemeyer/subscriptions","organizations_url":"https://api.github.com/users/jdemeyer/orgs","repos_url":"https://api.github.com/users/jdemeyer/repos","events_url":"https://api.github.com/users/jdemeyer/events{/privacy}","received_events_url":"https://api.github.com/users/jdemeyer/received_events","type":"User","site_admin":false},"repo":{"id":47398320,"name":"pexpect","full_name":"jdemeyer/pexpect","owner":{"login":"jdemeyer","id":3625785,"avatar_url":"https://avatars.githubusercontent.com/u/3625785?v=3","gravatar_id":"","url":"https://api.github.com/users/jdemeyer","html_url":"https://github.com/jdemeyer","followers_url":"https://api.github.com/users/jdemeyer/followers","following_url":"https://api.github.com/users/jdemeyer/following{/other_user}","gists_url":"https://api.github.com/users/jdemeyer/gists{/gist_id}","starred_url":"https://api.github.com/users/jdemeyer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jdemeyer/subscriptions","organizations_url":"https://api.github.com/users/jdemeyer/orgs","repos_url":"https://api.github.com/users/jdemeyer/repos","events_url":"https://api.github.com/users/jdemeyer/events{/privacy}","received_events_url":"https://api.github.com/users/jdemeyer/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/jdemeyer/pexpect","description":"A Python module for controlling interactive programs in a pseudo-terminal","fork":true,"url":"https://api.github.com/repos/jdemeyer/pexpect","forks_url":"https://api.github.com/repos/jdemeyer/pexpect/forks","keys_url":"https://api.github.com/repos/jdemeyer/pexpect/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jdemeyer/pexpect/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jdemeyer/pexpect/teams","hooks_url":"https://api.github.com/repos/jdemeyer/pexpect/hooks","issue_events_url":"https://api.github.com/repos/jdemeyer/pexpect/issues/events{/number}","events_url":"https://api.github.com/repos/jdemeyer/pexpect/events","assignees_url":"https://api.github.com/repos/jdemeyer/pexpect/assignees{/user}","branches_url":"https://api.github.com/repos/jdemeyer/pexpect/branches{/branch}","tags_url":"https://api.github.com/repos/jdemeyer/pexpect/tags","blobs_url":"https://api.github.com/repos/jdemeyer/pexpect/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jdemeyer/pexpect/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jdemeyer/pexpect/git/refs{/sha}","trees_url":"https://api.github.com/repos/jdemeyer/pexpect/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jdemeyer/pexpect/statuses/{sha}","languages_url":"https://api.github.com/repos/jdemeyer/pexpect/languages","stargazers_url":"https://api.github.com/repos/jdemeyer/pexpect/stargazers","contributors_url":"https://api.github.com/repos/jdemeyer/pexpect/contributors","subscribers_url":"https://api.github.com/repos/jdemeyer/pexpect/subscribers","subscription_url":"https://api.github.com/repos/jdemeyer/pexpect/subscription","commits_url":"https://api.github.com/repos/jdemeyer/pexpect/commits{/sha}","git_commits_url":"https://api.github.com/repos/jdemeyer/pexpect/git/commits{/sha}","comments_url":"https://api.github.com/repos/jdemeyer/pexpect/comments{/number}","issue_comment_url":"https://api.github.com/repos/jdemeyer/pexpect/issues/comments{/number}","contents_url":"https://api.github.com/repos/jdemeyer/pexpect/contents/{+path}","compare_url":"https://api.github.com/repos/jdemeyer/pexpect/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jdemeyer/pexpect/merges","archive_url":"https://api.github.com/repos/jdemeyer/pexpect/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jdemeyer/pexpect/downloads","issues_url":"https://api.github.com/repos/jdemeyer/pexpect/issues{/number}","pulls_url":"https://api.github.com/repos/jdemeyer/pexpect/pulls{/number}","milestones_url":"https://api.github.com/repos/jdemeyer/pexpect/milestones{/number}","notifications_url":"https://api.github.com/repos/jdemeyer/pexpect/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jdemeyer/pexpect/labels{/name}","releases_url":"https://api.github.com/repos/jdemeyer/pexpect/releases{/id}","created_at":"2015-12-04T10:47:44Z","updated_at":"2015-12-04T10:47:45Z","pushed_at":"2015-12-09T14:59:49Z","git_url":"git://github.com/jdemeyer/pexpect.git","ssh_url":"git@github.com:jdemeyer/pexpect.git","clone_url":"https://github.com/jdemeyer/pexpect.git","svn_url":"https://github.com/jdemeyer/pexpect","homepage":"http://pexpect.readthedocs.org/","size":8616,"stargazers_count":0,"watchers_count":0,"language":"Python","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":"pexpect:master","ref":"master","sha":"8cf885aa6c41310d14dc70270c4ecdcfaa16e477","user":{"login":"pexpect","id":5480175,"avatar_url":"https://avatars.githubusercontent.com/u/5480175?v=3","gravatar_id":"","url":"https://api.github.com/users/pexpect","html_url":"https://github.com/pexpect","followers_url":"https://api.github.com/users/pexpect/followers","following_url":"https://api.github.com/users/pexpect/following{/other_user}","gists_url":"https://api.github.com/users/pexpect/gists{/gist_id}","starred_url":"https://api.github.com/users/pexpect/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pexpect/subscriptions","organizations_url":"https://api.github.com/users/pexpect/orgs","repos_url":"https://api.github.com/users/pexpect/repos","events_url":"https://api.github.com/users/pexpect/events{/privacy}","received_events_url":"https://api.github.com/users/pexpect/received_events","type":"Organization","site_admin":false},"repo":{"id":12902206,"name":"pexpect","full_name":"pexpect/pexpect","owner":{"login":"pexpect","id":5480175,"avatar_url":"https://avatars.githubusercontent.com/u/5480175?v=3","gravatar_id":"","url":"https://api.github.com/users/pexpect","html_url":"https://github.com/pexpect","followers_url":"https://api.github.com/users/pexpect/followers","following_url":"https://api.github.com/users/pexpect/following{/other_user}","gists_url":"https://api.github.com/users/pexpect/gists{/gist_id}","starred_url":"https://api.github.com/users/pexpect/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pexpect/subscriptions","organizations_url":"https://api.github.com/users/pexpect/orgs","repos_url":"https://api.github.com/users/pexpect/repos","events_url":"https://api.github.com/users/pexpect/events{/privacy}","received_events_url":"https://api.github.com/users/pexpect/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/pexpect/pexpect","description":"A Python module for controlling interactive programs in a pseudo-terminal","fork":false,"url":"https://api.github.com/repos/pexpect/pexpect","forks_url":"https://api.github.com/repos/pexpect/pexpect/forks","keys_url":"https://api.github.com/repos/pexpect/pexpect/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pexpect/pexpect/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pexpect/pexpect/teams","hooks_url":"https://api.github.com/repos/pexpect/pexpect/hooks","issue_events_url":"https://api.github.com/repos/pexpect/pexpect/issues/events{/number}","events_url":"https://api.github.com/repos/pexpect/pexpect/events","assignees_url":"https://api.github.com/repos/pexpect/pexpect/assignees{/user}","branches_url":"https://api.github.com/repos/pexpect/pexpect/branches{/branch}","tags_url":"https://api.github.com/repos/pexpect/pexpect/tags","blobs_url":"https://api.github.com/repos/pexpect/pexpect/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pexpect/pexpect/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pexpect/pexpect/git/refs{/sha}","trees_url":"https://api.github.com/repos/pexpect/pexpect/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pexpect/pexpect/statuses/{sha}","languages_url":"https://api.github.com/repos/pexpect/pexpect/languages","stargazers_url":"https://api.github.com/repos/pexpect/pexpect/stargazers","contributors_url":"https://api.github.com/repos/pexpect/pexpect/contributors","subscribers_url":"https://api.github.com/repos/pexpect/pexpect/subscribers","subscription_url":"https://api.github.com/repos/pexpect/pexpect/subscription","commits_url":"https://api.github.com/repos/pexpect/pexpect/commits{/sha}","git_commits_url":"https://api.github.com/repos/pexpect/pexpect/git/commits{/sha}","comments_url":"https://api.github.com/repos/pexpect/pexpect/comments{/number}","issue_comment_url":"https://api.github.com/repos/pexpect/pexpect/issues/comments{/number}","contents_url":"https://api.github.com/repos/pexpect/pexpect/contents/{+path}","compare_url":"https://api.github.com/repos/pexpect/pexpect/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pexpect/pexpect/merges","archive_url":"https://api.github.com/repos/pexpect/pexpect/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pexpect/pexpect/downloads","issues_url":"https://api.github.com/repos/pexpect/pexpect/issues{/number}","pulls_url":"https://api.github.com/repos/pexpect/pexpect/pulls{/number}","milestones_url":"https://api.github.com/repos/pexpect/pexpect/milestones{/number}","notifications_url":"https://api.github.com/repos/pexpect/pexpect/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pexpect/pexpect/labels{/name}","releases_url":"https://api.github.com/repos/pexpect/pexpect/releases{/id}","created_at":"2013-09-17T17:36:44Z","updated_at":"2015-12-08T13:42:36Z","pushed_at":"2015-12-09T14:59:49Z","git_url":"git://github.com/pexpect/pexpect.git","ssh_url":"git@github.com:pexpect/pexpect.git","clone_url":"https://github.com/pexpect/pexpect.git","svn_url":"https://github.com/pexpect/pexpect","homepage":"http://pexpect.readthedocs.org/","size":8722,"stargazers_count":467,"watchers_count":467,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":124,"mirror_url":null,"open_issues_count":19,"forks":124,"open_issues":19,"watchers":467,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/pexpect/pexpect/pulls/304"},"html":{"href":"https://github.com/pexpect/pexpect/pull/304"},"issue":{"href":"https://api.github.com/repos/pexpect/pexpect/issues/304"},"comments":{"href":"https://api.github.com/repos/pexpect/pexpect/issues/304/comments"},"review_comments":{"href":"https://api.github.com/repos/pexpect/pexpect/pulls/304/comments"},"review_comment":{"href":"https://api.github.com/repos/pexpect/pexpect/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/pexpect/pexpect/pulls/304/commits"},"statuses":{"href":"https://api.github.com/repos/pexpect/pexpect/statuses/9ae34bd5b9e585d758c6d1afb3d8773941bc0671"}}}}