{"action":"created","issue":{"url":"https://api.github.com/repos/sustrik/libmill/issues/134","repository_url":"https://api.github.com/repos/sustrik/libmill","labels_url":"https://api.github.com/repos/sustrik/libmill/issues/134/labels{/name}","comments_url":"https://api.github.com/repos/sustrik/libmill/issues/134/comments","events_url":"https://api.github.com/repos/sustrik/libmill/issues/134/events","html_url":"https://github.com/sustrik/libmill/pull/134","id":137690773,"number":134,"title":"Add a wrapper around shutdown(2).","user":{"login":"pyos","id":1849909,"avatar_url":"https://avatars.githubusercontent.com/u/1849909?v=3","gravatar_id":"","url":"https://api.github.com/users/pyos","html_url":"https://github.com/pyos","followers_url":"https://api.github.com/users/pyos/followers","following_url":"https://api.github.com/users/pyos/following{/other_user}","gists_url":"https://api.github.com/users/pyos/gists{/gist_id}","starred_url":"https://api.github.com/users/pyos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pyos/subscriptions","organizations_url":"https://api.github.com/users/pyos/orgs","repos_url":"https://api.github.com/users/pyos/repos","events_url":"https://api.github.com/users/pyos/events{/privacy}","received_events_url":"https://api.github.com/users/pyos/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2016-03-01T21:22:24Z","updated_at":"2016-03-02T09:28:43Z","closed_at":"2016-03-02T09:28:43Z","pull_request":{"url":"https://api.github.com/repos/sustrik/libmill/pulls/134","html_url":"https://github.com/sustrik/libmill/pull/134","diff_url":"https://github.com/sustrik/libmill/pull/134.diff","patch_url":"https://github.com/sustrik/libmill/pull/134.patch"},"body":"Unlike `tcpclose()`, `tcpshutdown()` does not deallocate the `tcpsock`, nor does it close the file descriptor. This allows, for example, forcibly closing the connection from one coroutine while another is blocked on `tcprecv()` (which will instantly return with `ECONNRESET`).\r\n\r\n(There's also a commit with updated documentation in the gh-pages branch of the same repo.)"},"comment":{"url":"https://api.github.com/repos/sustrik/libmill/issues/comments/191152659","html_url":"https://github.com/sustrik/libmill/pull/134#issuecomment-191152659","issue_url":"https://api.github.com/repos/sustrik/libmill/issues/134","id":191152659,"user":{"login":"pyos","id":1849909,"avatar_url":"https://avatars.githubusercontent.com/u/1849909?v=3","gravatar_id":"","url":"https://api.github.com/users/pyos","html_url":"https://github.com/pyos","followers_url":"https://api.github.com/users/pyos/followers","following_url":"https://api.github.com/users/pyos/following{/other_user}","gists_url":"https://api.github.com/users/pyos/gists{/gist_id}","starred_url":"https://api.github.com/users/pyos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pyos/subscriptions","organizations_url":"https://api.github.com/users/pyos/orgs","repos_url":"https://api.github.com/users/pyos/repos","events_url":"https://api.github.com/users/pyos/events{/privacy}","received_events_url":"https://api.github.com/users/pyos/received_events","type":"User","site_admin":false},"created_at":"2016-03-02T09:28:43Z","updated_at":"2016-03-02T09:28:43Z","body":"Actually, forget it, I ended up using raw file descriptors with fdwait anyway. Sorry for wasting your time."}}