{"action":"created","issue":{"url":"https://api.github.com/repos/mapbox/mapbox-gl-native/issues/1065","labels_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/issues/1065/labels{/name}","comments_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/issues/1065/comments","events_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/issues/1065/events","html_url":"https://github.com/mapbox/mapbox-gl-native/pull/1065","id":63697816,"number":1065,"title":"Better separation between UI thread and Map thread","user":{"login":"kkaefer","id":52399,"avatar_url":"https://avatars.githubusercontent.com/u/52399?v=3","gravatar_id":"","url":"https://api.github.com/users/kkaefer","html_url":"https://github.com/kkaefer","followers_url":"https://api.github.com/users/kkaefer/followers","following_url":"https://api.github.com/users/kkaefer/following{/other_user}","gists_url":"https://api.github.com/users/kkaefer/gists{/gist_id}","starred_url":"https://api.github.com/users/kkaefer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kkaefer/subscriptions","organizations_url":"https://api.github.com/users/kkaefer/orgs","repos_url":"https://api.github.com/users/kkaefer/repos","events_url":"https://api.github.com/users/kkaefer/events{/privacy}","received_events_url":"https://api.github.com/users/kkaefer/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":23,"created_at":"2015-03-23T11:11:12Z","updated_at":"2015-04-23T00:39:57Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/mapbox/mapbox-gl-native/pulls/1065","html_url":"https://github.com/mapbox/mapbox-gl-native/pull/1065","diff_url":"https://github.com/mapbox/mapbox-gl-native/pull/1065.diff","patch_url":"https://github.com/mapbox/mapbox-gl-native/pull/1065.patch"},"body":"TODO list:\r\n\r\n* [ ] Remove `Environment::currentlyOn` assertions in `Map` and `MapContext`.\r\n* [ ] `data.callback` is not threadsafe\r\n* [ ] refactor `View` and subclasses to interact with a single thread only (either main or map)"},"comment":{"url":"https://api.github.com/repos/mapbox/mapbox-gl-native/issues/comments/95376507","html_url":"https://github.com/mapbox/mapbox-gl-native/pull/1065#issuecomment-95376507","issue_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/issues/1065","id":95376507,"user":{"login":"jfirebaugh","id":98601,"avatar_url":"https://avatars.githubusercontent.com/u/98601?v=3","gravatar_id":"","url":"https://api.github.com/users/jfirebaugh","html_url":"https://github.com/jfirebaugh","followers_url":"https://api.github.com/users/jfirebaugh/followers","following_url":"https://api.github.com/users/jfirebaugh/following{/other_user}","gists_url":"https://api.github.com/users/jfirebaugh/gists{/gist_id}","starred_url":"https://api.github.com/users/jfirebaugh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jfirebaugh/subscriptions","organizations_url":"https://api.github.com/users/jfirebaugh/orgs","repos_url":"https://api.github.com/users/jfirebaugh/repos","events_url":"https://api.github.com/users/jfirebaugh/events{/privacy}","received_events_url":"https://api.github.com/users/jfirebaugh/received_events","type":"User","site_admin":false},"created_at":"2015-04-23T00:39:57Z","updated_at":"2015-04-23T00:39:57Z","body":"The hangs appear to be from a uv handle leak somewhere. The map run loop sometimes fails to exit. I set a breakpoint [here](https://github.com/mapbox/mapbox-gl-native/blob/ab36908391c832444d25744ecd519e1e55ebbf12/src/mbgl/util/run_loop.cpp#L35), and when the `async.unref()` happens there are still one or two other active handles."}}