{"action":"created","issue":{"url":"https://api.github.com/repos/ninenines/ranch/issues/140","repository_url":"https://api.github.com/repos/ninenines/ranch","labels_url":"https://api.github.com/repos/ninenines/ranch/issues/140/labels{/name}","comments_url":"https://api.github.com/repos/ninenines/ranch/issues/140/comments","events_url":"https://api.github.com/repos/ninenines/ranch/issues/140/events","html_url":"https://github.com/ninenines/ranch/issues/140","id":137171580,"number":140,"title":"need to handle the sleepers and num_of_children when changing the controlling process of `Socket` to `ProtocolPid`","user":{"login":"lerencao","id":1456096,"avatar_url":"https://avatars.githubusercontent.com/u/1456096?v=3","gravatar_id":"","url":"https://api.github.com/users/lerencao","html_url":"https://github.com/lerencao","followers_url":"https://api.github.com/users/lerencao/followers","following_url":"https://api.github.com/users/lerencao/following{/other_user}","gists_url":"https://api.github.com/users/lerencao/gists{/gist_id}","starred_url":"https://api.github.com/users/lerencao/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lerencao/subscriptions","organizations_url":"https://api.github.com/users/lerencao/orgs","repos_url":"https://api.github.com/users/lerencao/repos","events_url":"https://api.github.com/users/lerencao/events{/privacy}","received_events_url":"https://api.github.com/users/lerencao/received_events","type":"User","site_admin":false},"labels":[{"id":247986629,"url":"https://api.github.com/repos/ninenines/ranch/labels/Bug","name":"Bug","color":"e11d21","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/ninenines/ranch/milestones/3","html_url":"https://github.com/ninenines/ranch/milestones/1.3.0","labels_url":"https://api.github.com/repos/ninenines/ranch/milestones/3/labels","id":2136153,"number":3,"title":"1.3.0","description":null,"creator":{"login":"essen","id":141739,"avatar_url":"https://avatars.githubusercontent.com/u/141739?v=3","gravatar_id":"","url":"https://api.github.com/users/essen","html_url":"https://github.com/essen","followers_url":"https://api.github.com/users/essen/followers","following_url":"https://api.github.com/users/essen/following{/other_user}","gists_url":"https://api.github.com/users/essen/gists{/gist_id}","starred_url":"https://api.github.com/users/essen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/essen/subscriptions","organizations_url":"https://api.github.com/users/essen/orgs","repos_url":"https://api.github.com/users/essen/repos","events_url":"https://api.github.com/users/essen/events{/privacy}","received_events_url":"https://api.github.com/users/essen/received_events","type":"User","site_admin":false},"open_issues":2,"closed_issues":8,"state":"open","created_at":"2016-11-15T09:38:39Z","updated_at":"2016-11-15T15:18:45Z","due_on":null,"closed_at":null},"comments":4,"created_at":"2016-02-29T07:15:52Z","updated_at":"2016-11-15T16:33:34Z","closed_at":null,"body":"In the following case(shoot...),\n\n```\ncase Transport:controlling_process(Socket, ProtocolPid) of\n  ok ->\n    %%%......\n  {error, _} ->\n    Transport:close(Socket),\n    exit(SupPid, kill),\n    loop(State, CurConns, NbChildren, Sleepers)\nend\n```\n\nAfter killing the child process(the `{'EXIT', child, reason}` message will comes to conn_sup), caller of the `start_protocol` still wait for the `receive SupPid -> ok end` message, and because the caller is not in the sleepers list, there is no way for it to be awake again.\n"},"comment":{"url":"https://api.github.com/repos/ninenines/ranch/issues/comments/260692231","html_url":"https://github.com/ninenines/ranch/issues/140#issuecomment-260692231","issue_url":"https://api.github.com/repos/ninenines/ranch/issues/140","id":260692231,"user":{"login":"essen","id":141739,"avatar_url":"https://avatars.githubusercontent.com/u/141739?v=3","gravatar_id":"","url":"https://api.github.com/users/essen","html_url":"https://github.com/essen","followers_url":"https://api.github.com/users/essen/followers","following_url":"https://api.github.com/users/essen/following{/other_user}","gists_url":"https://api.github.com/users/essen/gists{/gist_id}","starred_url":"https://api.github.com/users/essen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/essen/subscriptions","organizations_url":"https://api.github.com/users/essen/orgs","repos_url":"https://api.github.com/users/essen/repos","events_url":"https://api.github.com/users/essen/events{/privacy}","received_events_url":"https://api.github.com/users/essen/received_events","type":"User","site_admin":false},"created_at":"2016-11-15T16:33:34Z","updated_at":"2016-11-15T16:33:34Z","body":"The current code should handle a stray message properly (if it is unknown it is just ignored). Therefore we can just resume the acceptor and be done with it.\r\n\r\nI'm not sure how to properly test this so I won't add a test for the time being."}}
{"actor":{"display_login":"essen"}}