{"action":"created","issue":{"url":"https://api.github.com/repos/ros2/rmw/issues/49","labels_url":"https://api.github.com/repos/ros2/rmw/issues/49/labels{/name}","comments_url":"https://api.github.com/repos/ros2/rmw/issues/49/comments","events_url":"https://api.github.com/repos/ros2/rmw/issues/49/events","html_url":"https://github.com/ros2/rmw/pull/49","id":120021559,"number":49,"title":"Add rmw_waitset_t and create/destroy functions","user":{"login":"jacquelinekay","id":495933,"avatar_url":"https://avatars.githubusercontent.com/u/495933?v=3","gravatar_id":"","url":"https://api.github.com/users/jacquelinekay","html_url":"https://github.com/jacquelinekay","followers_url":"https://api.github.com/users/jacquelinekay/followers","following_url":"https://api.github.com/users/jacquelinekay/following{/other_user}","gists_url":"https://api.github.com/users/jacquelinekay/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquelinekay/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquelinekay/subscriptions","organizations_url":"https://api.github.com/users/jacquelinekay/orgs","repos_url":"https://api.github.com/users/jacquelinekay/repos","events_url":"https://api.github.com/users/jacquelinekay/events{/privacy}","received_events_url":"https://api.github.com/users/jacquelinekay/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/ros2/rmw/labels/in%20review","name":"in review","color":"c7def8"}],"state":"open","locked":false,"assignee":{"login":"jacquelinekay","id":495933,"avatar_url":"https://avatars.githubusercontent.com/u/495933?v=3","gravatar_id":"","url":"https://api.github.com/users/jacquelinekay","html_url":"https://github.com/jacquelinekay","followers_url":"https://api.github.com/users/jacquelinekay/followers","following_url":"https://api.github.com/users/jacquelinekay/following{/other_user}","gists_url":"https://api.github.com/users/jacquelinekay/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquelinekay/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquelinekay/subscriptions","organizations_url":"https://api.github.com/users/jacquelinekay/orgs","repos_url":"https://api.github.com/users/jacquelinekay/repos","events_url":"https://api.github.com/users/jacquelinekay/events{/privacy}","received_events_url":"https://api.github.com/users/jacquelinekay/received_events","type":"User","site_admin":false},"milestone":null,"comments":15,"created_at":"2015-12-02T19:49:15Z","updated_at":"2015-12-18T20:56:46Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/ros2/rmw/pulls/49","html_url":"https://github.com/ros2/rmw/pull/49","diff_url":"https://github.com/ros2/rmw/pull/49.diff","patch_url":"https://github.com/ros2/rmw/pull/49.patch"},"body":"Improvements discussed in ros2/rmw_opensplice#96 and offline.\r\n\r\nSeeking feedback on this approach before implementing it for Connext.\r\n\r\nThis API change will allow for several improvements to be made.\r\n\r\n- Re-use pre-allocated WaitSet and ConditionSeq in rmw_wait, reducing allocations made at the rmw layer.\r\n- Each Executor can keep a handle on its own WaitSet, allowing for multiple Executors to execute concurrently in their own threads. If a global static WaitSet were to be used in this case, a race condition would occur and the accesses would interfere with each other.\r\n- We could add locking to the WaitSet destructor to prevent the race condition with `trigger_guard_condition`."},"comment":{"url":"https://api.github.com/repos/ros2/rmw/issues/comments/165896120","html_url":"https://github.com/ros2/rmw/pull/49#issuecomment-165896120","issue_url":"https://api.github.com/repos/ros2/rmw/issues/49","id":165896120,"user":{"login":"gerkey","id":1188842,"avatar_url":"https://avatars.githubusercontent.com/u/1188842?v=3","gravatar_id":"","url":"https://api.github.com/users/gerkey","html_url":"https://github.com/gerkey","followers_url":"https://api.github.com/users/gerkey/followers","following_url":"https://api.github.com/users/gerkey/following{/other_user}","gists_url":"https://api.github.com/users/gerkey/gists{/gist_id}","starred_url":"https://api.github.com/users/gerkey/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gerkey/subscriptions","organizations_url":"https://api.github.com/users/gerkey/orgs","repos_url":"https://api.github.com/users/gerkey/repos","events_url":"https://api.github.com/users/gerkey/events{/privacy}","received_events_url":"https://api.github.com/users/gerkey/received_events","type":"User","site_admin":false},"created_at":"2015-12-18T20:56:46Z","updated_at":"2015-12-18T20:56:46Z","body":"Agreed, we didn't consider the full consequences of adding FastRTPS."}}