{"action":"created","issue":{"url":"https://api.github.com/repos/libuv/libuv/issues/1784","repository_url":"https://api.github.com/repos/libuv/libuv","labels_url":"https://api.github.com/repos/libuv/libuv/issues/1784/labels{/name}","comments_url":"https://api.github.com/repos/libuv/libuv/issues/1784/comments","events_url":"https://api.github.com/repos/libuv/libuv/issues/1784/events","html_url":"https://github.com/libuv/libuv/pull/1784","id":309473426,"number":1784,"title":"WIP: win, stdio: allow child pipe handles to be opened in overlapped mode","user":{"login":"bfredl","id":1363104,"avatar_url":"https://avatars1.githubusercontent.com/u/1363104?v=4","gravatar_id":"","url":"https://api.github.com/users/bfredl","html_url":"https://github.com/bfredl","followers_url":"https://api.github.com/users/bfredl/followers","following_url":"https://api.github.com/users/bfredl/following{/other_user}","gists_url":"https://api.github.com/users/bfredl/gists{/gist_id}","starred_url":"https://api.github.com/users/bfredl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bfredl/subscriptions","organizations_url":"https://api.github.com/users/bfredl/orgs","repos_url":"https://api.github.com/users/bfredl/repos","events_url":"https://api.github.com/users/bfredl/events{/privacy}","received_events_url":"https://api.github.com/users/bfredl/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":6,"created_at":"2018-03-28T18:09:41Z","updated_at":"2018-05-25T22:35:31Z","closed_at":"2018-05-25T22:35:31Z","author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/libuv/libuv/pulls/1784","html_url":"https://github.com/libuv/libuv/pull/1784","diff_url":"https://github.com/libuv/libuv/pull/1784.diff","patch_url":"https://github.com/libuv/libuv/pull/1784.patch"},"body":"Context: in neovim, which uses libuv for subprocess management, we run a python interpreter as a child process to implement python plugins. We would like to use asyncio in python to communicate with neovim and handle other event sources. However on windows, asyncio with the bulitin proactor event loop, can only use pipes for stdio handles if they were opened in overlapped mode by the parent.\r\n\r\nThere might be some black magic that can be used to transmute an ordinary pipe end into an overlapped pipe end on the subprocess side, but it would be more convenient if libuv could open stdio pipes in overlapped mode directly. This PR adds a flag to `process_options->stdio[i].flags` that requests a pipe to be opened in overlapped mode for the child process. An alternative could be to do this unconditionally, but I know to little about winNT IO to know if this could cause problems for some other potential child process.\r\n\r\nIf any option makes sense to you, I could look into adding documentation and tests.\r\n\r\nRef https://github.com/neovim/neovim/pull/8113"},"comment":{"url":"https://api.github.com/repos/libuv/libuv/issues/comments/392204587","html_url":"https://github.com/libuv/libuv/pull/1784#issuecomment-392204587","issue_url":"https://api.github.com/repos/libuv/libuv/issues/1784","id":392204587,"user":{"login":"piscisaureus","id":218257,"avatar_url":"https://avatars2.githubusercontent.com/u/218257?v=4","gravatar_id":"","url":"https://api.github.com/users/piscisaureus","html_url":"https://github.com/piscisaureus","followers_url":"https://api.github.com/users/piscisaureus/followers","following_url":"https://api.github.com/users/piscisaureus/following{/other_user}","gists_url":"https://api.github.com/users/piscisaureus/gists{/gist_id}","starred_url":"https://api.github.com/users/piscisaureus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/piscisaureus/subscriptions","organizations_url":"https://api.github.com/users/piscisaureus/orgs","repos_url":"https://api.github.com/users/piscisaureus/repos","events_url":"https://api.github.com/users/piscisaureus/events{/privacy}","received_events_url":"https://api.github.com/users/piscisaureus/received_events","type":"User","site_admin":false},"created_at":"2018-05-25T22:35:31Z","updated_at":"2018-05-25T22:35:31Z","author_association":"MEMBER","body":"Landed: 62a0f763"}}
{"actor":{"display_login":"piscisaureus"}}