{"action":"created","issue":{"url":"https://api.github.com/repos/nengo/nengo_viz/issues/227","labels_url":"https://api.github.com/repos/nengo/nengo_viz/issues/227/labels{/name}","comments_url":"https://api.github.com/repos/nengo/nengo_viz/issues/227/comments","events_url":"https://api.github.com/repos/nengo/nengo_viz/issues/227/events","html_url":"https://github.com/nengo/nengo_viz/pull/227","id":82269445,"number":227,"title":"Timely thread shutdown","user":{"login":"jgosmann","id":850157,"avatar_url":"https://avatars.githubusercontent.com/u/850157?v=3","gravatar_id":"","url":"https://api.github.com/users/jgosmann","html_url":"https://github.com/jgosmann","followers_url":"https://api.github.com/users/jgosmann/followers","following_url":"https://api.github.com/users/jgosmann/following{/other_user}","gists_url":"https://api.github.com/users/jgosmann/gists{/gist_id}","starred_url":"https://api.github.com/users/jgosmann/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jgosmann/subscriptions","organizations_url":"https://api.github.com/users/jgosmann/orgs","repos_url":"https://api.github.com/users/jgosmann/repos","events_url":"https://api.github.com/users/jgosmann/events{/privacy}","received_events_url":"https://api.github.com/users/jgosmann/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/nengo/nengo_viz/labels/needs%20review","name":"needs review","color":"eb6420"}],"state":"open","locked":false,"assignee":{"login":"jgosmann","id":850157,"avatar_url":"https://avatars.githubusercontent.com/u/850157?v=3","gravatar_id":"","url":"https://api.github.com/users/jgosmann","html_url":"https://github.com/jgosmann","followers_url":"https://api.github.com/users/jgosmann/followers","following_url":"https://api.github.com/users/jgosmann/following{/other_user}","gists_url":"https://api.github.com/users/jgosmann/gists{/gist_id}","starred_url":"https://api.github.com/users/jgosmann/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jgosmann/subscriptions","organizations_url":"https://api.github.com/users/jgosmann/orgs","repos_url":"https://api.github.com/users/jgosmann/repos","events_url":"https://api.github.com/users/jgosmann/events{/privacy}","received_events_url":"https://api.github.com/users/jgosmann/received_events","type":"User","site_admin":false},"milestone":null,"comments":17,"created_at":"2015-05-29T05:21:27Z","updated_at":"2015-06-01T01:43:00Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/nengo/nengo_viz/pulls/227","html_url":"https://github.com/nengo/nengo_viz/pull/227","diff_url":"https://github.com/nengo/nengo_viz/pull/227.diff","patch_url":"https://github.com/nengo/nengo_viz/pull/227.patch"},"body":"This solves problems resulting in the frequent 'x zombie threads killed' message on shutdown (cp. PR #221). See commits (and commit messages) for details. Essentially, `close()` on a socket might take until the object is garbage collected. For an instant close `shutdown` has to be called beforehand, but that can lead to exceptions because threads are suddenly missing their sockets, so that has to be taken care of. And lastly, their where iterations over a list while it was modified. That's never a good idea.\r\n\r\nTime to sleep now ... :sleeping: "},"comment":{"url":"https://api.github.com/repos/nengo/nengo_viz/issues/comments/107278897","html_url":"https://github.com/nengo/nengo_viz/pull/227#issuecomment-107278897","issue_url":"https://api.github.com/repos/nengo/nengo_viz/issues/227","id":107278897,"user":{"login":"jgosmann","id":850157,"avatar_url":"https://avatars.githubusercontent.com/u/850157?v=3","gravatar_id":"","url":"https://api.github.com/users/jgosmann","html_url":"https://github.com/jgosmann","followers_url":"https://api.github.com/users/jgosmann/followers","following_url":"https://api.github.com/users/jgosmann/following{/other_user}","gists_url":"https://api.github.com/users/jgosmann/gists{/gist_id}","starred_url":"https://api.github.com/users/jgosmann/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jgosmann/subscriptions","organizations_url":"https://api.github.com/users/jgosmann/orgs","repos_url":"https://api.github.com/users/jgosmann/repos","events_url":"https://api.github.com/users/jgosmann/events{/privacy}","received_events_url":"https://api.github.com/users/jgosmann/received_events","type":"User","site_admin":false},"created_at":"2015-06-01T01:43:00Z","updated_at":"2015-06-01T01:43:00Z","body":"rebased to master"}}