{"action":"created","issue":{"url":"https://api.github.com/repos/PointCloudLibrary/pcl/issues/1106","labels_url":"https://api.github.com/repos/PointCloudLibrary/pcl/issues/1106/labels{/name}","comments_url":"https://api.github.com/repos/PointCloudLibrary/pcl/issues/1106/comments","events_url":"https://api.github.com/repos/PointCloudLibrary/pcl/issues/1106/events","html_url":"https://github.com/PointCloudLibrary/pcl/pull/1106","id":55003170,"number":1106,"title":"Reverts #1084","user":{"login":"jspricke","id":480915,"avatar_url":"https://avatars.githubusercontent.com/u/480915?v=3","gravatar_id":"","url":"https://api.github.com/users/jspricke","html_url":"https://github.com/jspricke","followers_url":"https://api.github.com/users/jspricke/followers","following_url":"https://api.github.com/users/jspricke/following{/other_user}","gists_url":"https://api.github.com/users/jspricke/gists{/gist_id}","starred_url":"https://api.github.com/users/jspricke/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jspricke/subscriptions","organizations_url":"https://api.github.com/users/jspricke/orgs","repos_url":"https://api.github.com/users/jspricke/repos","events_url":"https://api.github.com/users/jspricke/events{/privacy}","received_events_url":"https://api.github.com/users/jspricke/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":5,"created_at":"2015-01-21T10:45:42Z","updated_at":"2015-01-22T09:20:37Z","closed_at":"2015-01-21T10:50:17Z","pull_request":{"url":"https://api.github.com/repos/PointCloudLibrary/pcl/pulls/1106","html_url":"https://github.com/PointCloudLibrary/pcl/pull/1106","diff_url":"https://github.com/PointCloudLibrary/pcl/pull/1106.diff","patch_url":"https://github.com/PointCloudLibrary/pcl/pull/1106.patch"},"body":null},"comment":{"url":"https://api.github.com/repos/PointCloudLibrary/pcl/issues/comments/70992133","html_url":"https://github.com/PointCloudLibrary/pcl/pull/1106#issuecomment-70992133","issue_url":"https://api.github.com/repos/PointCloudLibrary/pcl/issues/1106","id":70992133,"user":{"login":"gedikli","id":515420,"avatar_url":"https://avatars.githubusercontent.com/u/515420?v=3","gravatar_id":"","url":"https://api.github.com/users/gedikli","html_url":"https://github.com/gedikli","followers_url":"https://api.github.com/users/gedikli/followers","following_url":"https://api.github.com/users/gedikli/following{/other_user}","gists_url":"https://api.github.com/users/gedikli/gists{/gist_id}","starred_url":"https://api.github.com/users/gedikli/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gedikli/subscriptions","organizations_url":"https://api.github.com/users/gedikli/orgs","repos_url":"https://api.github.com/users/gedikli/repos","events_url":"https://api.github.com/users/gedikli/events{/privacy}","received_events_url":"https://api.github.com/users/gedikli/received_events","type":"User","site_admin":false},"created_at":"2015-01-22T09:20:37Z","updated_at":"2015-01-22T09:20:37Z","body":"I would propose to use your version with ALL the changes: \r\nhttps://github.com/PointCloudLibrary/pcl/blob/049a36a169292a844127ca438ad41317098d2d39/common/src/time_trigger.cpp\r\nwith or without lock.unlock before notify_all.\r\n\r\nSince this solves another race condition i found right now in my initial implementation:\r\nhttps://github.com/PointCloudLibrary/pcl/blob/c1022f646479d7a45d51af878f7e38642a96255c/common/src/time_trigger.cpp\r\nthread2 129\r\nthread1: 72-77\r\nthread2: 130-132\r\nSimilar issue as described above: thread1 is at line 77 and waits thread2 to finish\r\nthread2 misses the notification and then waits without checking whether the object is about to be destroyed -> need to check quit_ before wait and within lock.\r\n@soyersoyer : #1084 + if(quit_ within lock before wait) together should solve this problem without introducing a new race condition.\r\n-Suat\r\n\r\n"}}