{"action":"closed","issue":{"url":"https://api.github.com/repos/LabSound/LabSound/issues/70","repository_url":"https://api.github.com/repos/LabSound/LabSound","labels_url":"https://api.github.com/repos/LabSound/LabSound/issues/70/labels{/name}","comments_url":"https://api.github.com/repos/LabSound/LabSound/issues/70/comments","events_url":"https://api.github.com/repos/LabSound/LabSound/issues/70/events","html_url":"https://github.com/LabSound/LabSound/issues/70","id":299945989,"number":70,"title":"Update thread does not terminate","user":{"login":"modulesio","id":6926057,"avatar_url":"https://avatars0.githubusercontent.com/u/6926057?v=4","gravatar_id":"","url":"https://api.github.com/users/modulesio","html_url":"https://github.com/modulesio","followers_url":"https://api.github.com/users/modulesio/followers","following_url":"https://api.github.com/users/modulesio/following{/other_user}","gists_url":"https://api.github.com/users/modulesio/gists{/gist_id}","starred_url":"https://api.github.com/users/modulesio/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/modulesio/subscriptions","organizations_url":"https://api.github.com/users/modulesio/orgs","repos_url":"https://api.github.com/users/modulesio/repos","events_url":"https://api.github.com/users/modulesio/events{/privacy}","received_events_url":"https://api.github.com/users/modulesio/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2018-02-24T14:46:31Z","updated_at":"2018-02-24T19:21:45Z","closed_at":"2018-02-24T19:21:44Z","author_association":"NONE","body":"The [AudioContext destructor](https://github.com/LabSound/LabSound/blob/fe5097fdb691942afeb253905fca1e2fc2b1731e/src/core/AudioContext.cpp#L40) sets atomic `updateThreadShouldRun` to `false`.\r\n\r\nBut that doesn't seem enough to kill [the thread join condition](https://github.com/LabSound/LabSound/blob/fe5097fdb691942afeb253905fca1e2fc2b1731e/src/core/AudioContext.cpp#L201) because it's a disjunction instead of a conjunction, so it's totally possible for this to hang infinitely.\r\n\r\nShould the thread condition be `&&`?"}}
{"actor":{"display_login":"meshula"}}