{"action":"opened","issue":{"url":"https://api.github.com/repos/crossbario/autobahn-android/issues/107","repository_url":"https://api.github.com/repos/crossbario/autobahn-android","labels_url":"https://api.github.com/repos/crossbario/autobahn-android/issues/107/labels{/name}","comments_url":"https://api.github.com/repos/crossbario/autobahn-android/issues/107/comments","events_url":"https://api.github.com/repos/crossbario/autobahn-android/issues/107/events","html_url":"https://github.com/crossbario/autobahn-android/issues/107","id":188427172,"number":107,"title":"WebSocketWriter, its thread and its socket are never cleaned up.","user":{"login":"taylor-b","id":14118599,"avatar_url":"https://avatars.githubusercontent.com/u/14118599?v=3","gravatar_id":"","url":"https://api.github.com/users/taylor-b","html_url":"https://github.com/taylor-b","followers_url":"https://api.github.com/users/taylor-b/followers","following_url":"https://api.github.com/users/taylor-b/following{/other_user}","gists_url":"https://api.github.com/users/taylor-b/gists{/gist_id}","starred_url":"https://api.github.com/users/taylor-b/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/taylor-b/subscriptions","organizations_url":"https://api.github.com/users/taylor-b/orgs","repos_url":"https://api.github.com/users/taylor-b/repos","events_url":"https://api.github.com/users/taylor-b/events{/privacy}","received_events_url":"https://api.github.com/users/taylor-b/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2016-11-10T06:05:25Z","updated_at":"2016-11-10T06:05:25Z","closed_at":null,"body":"The `WebSocketWriter` seems to only call `quit` on its `Looper` when it receives a `WebSocketMessage.Quit` message. But this only occurs in the case of an error. So in the normal case where a socket is connected, used successfully, then disconnected, the socket and its thread are leaked. Along with a few pipes, it appears, probably as part of the `Thread` and/or `Looper` implementation.\r\n\r\nThis can be a big problem on Android where there are only 1024 file descriptors available, and an app may create many WebSockets in its lifetime."}}
{"actor":{"display_login":"taylor-b"}}