{"action":"created","comment":{"url":"https://api.github.com/repos/EricssonResearch/openwebrtc/pulls/comments/24595768","id":24595768,"diff_hunk":"@@ -470,6 +475,10 @@ static void add_helper_server_info(GResolver *resolver, GAsyncResult *result, GH\n     g_return_if_fail(OWR_IS_TRANSPORT_AGENT(transport_agent));\n     g_hash_table_remove(info, \"transport_agent\");\n \n+    priv = transport_agent->priv;\n+\n+    priv->deferred_helper_server_adds--;\n+\n     address_list = g_resolver_lookup_by_name_finish(resolver, result, &error);\n \n     if (!address_list) {","path":"transport/owr_transport_agent.c","position":36,"original_position":36,"commit_id":"7ae08053b9b005ef6a2640907d31e9f79a400da7","original_commit_id":"7ae08053b9b005ef6a2640907d31e9f79a400da7","user":{"login":"superdump","id":302146,"avatar_url":"https://avatars.githubusercontent.com/u/302146?v=3","gravatar_id":"","url":"https://api.github.com/users/superdump","html_url":"https://github.com/superdump","followers_url":"https://api.github.com/users/superdump/followers","following_url":"https://api.github.com/users/superdump/following{/other_user}","gists_url":"https://api.github.com/users/superdump/gists{/gist_id}","starred_url":"https://api.github.com/users/superdump/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/superdump/subscriptions","organizations_url":"https://api.github.com/users/superdump/orgs","repos_url":"https://api.github.com/users/superdump/repos","events_url":"https://api.github.com/users/superdump/events{/privacy}","received_events_url":"https://api.github.com/users/superdump/received_events","type":"User","site_admin":false},"body":"Good point, thanks. Will fix.","created_at":"2015-02-12T16:45:17Z","updated_at":"2015-02-12T16:45:17Z","html_url":"https://github.com/EricssonResearch/openwebrtc/pull/166#discussion_r24595768","pull_request_url":"https://api.github.com/repos/EricssonResearch/openwebrtc/pulls/166","_links":{"self":{"href":"https://api.github.com/repos/EricssonResearch/openwebrtc/pulls/comments/24595768"},"html":{"href":"https://github.com/EricssonResearch/openwebrtc/pull/166#discussion_r24595768"},"pull_request":{"href":"https://api.github.com/repos/EricssonResearch/openwebrtc/pulls/166"}}},"pull_request":{"url":"https://api.github.com/repos/EricssonResearch/openwebrtc/pulls/166","id":28880086,"html_url":"https://github.com/EricssonResearch/openwebrtc/pull/166","diff_url":"https://github.com/EricssonResearch/openwebrtc/pull/166.diff","patch_url":"https://github.com/EricssonResearch/openwebrtc/pull/166.patch","issue_url":"https://api.github.com/repos/EricssonResearch/openwebrtc/issues/166","number":166,"state":"open","locked":false,"title":"OwrTransportAgent: Fix helper server/candidate gathering race","user":{"login":"superdump","id":302146,"avatar_url":"https://avatars.githubusercontent.com/u/302146?v=3","gravatar_id":"","url":"https://api.github.com/users/superdump","html_url":"https://github.com/superdump","followers_url":"https://api.github.com/users/superdump/followers","following_url":"https://api.github.com/users/superdump/following{/other_user}","gists_url":"https://api.github.com/users/superdump/gists{/gist_id}","starred_url":"https://api.github.com/users/superdump/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/superdump/subscriptions","organizations_url":"https://api.github.com/users/superdump/orgs","repos_url":"https://api.github.com/users/superdump/repos","events_url":"https://api.github.com/users/superdump/events{/privacy}","received_events_url":"https://api.github.com/users/superdump/received_events","type":"User","site_admin":false},"body":"This is a fix for https://github.com/EricssonResearch/openwebrtc/issues/165 .\r\n\r\nAll helper servers **must** be added to the transport agent **before** any sessions are added.\r\n\r\nNo locks are needed, given the rule above and that all other relevant functions are called from the main thread.","created_at":"2015-02-08T13:13:45Z","updated_at":"2015-02-12T16:45:17Z","closed_at":null,"merged_at":null,"merge_commit_sha":"1bc48ea91f6e47ab32220a5cd71fc195d4506d3a","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/EricssonResearch/openwebrtc/pulls/166/commits","review_comments_url":"https://api.github.com/repos/EricssonResearch/openwebrtc/pulls/166/comments","review_comment_url":"https://api.github.com/repos/EricssonResearch/openwebrtc/pulls/comments/{number}","comments_url":"https://api.github.com/repos/EricssonResearch/openwebrtc/issues/166/comments","statuses_url":"https://api.github.com/repos/EricssonResearch/openwebrtc/statuses/7ae08053b9b005ef6a2640907d31e9f79a400da7","head":{"label":"superdump:helper-server-race-fix","ref":"helper-server-race-fix","sha":"7ae08053b9b005ef6a2640907d31e9f79a400da7","user":{"login":"superdump","id":302146,"avatar_url":"https://avatars.githubusercontent.com/u/302146?v=3","gravatar_id":"","url":"https://api.github.com/users/superdump","html_url":"https://github.com/superdump","followers_url":"https://api.github.com/users/superdump/followers","following_url":"https://api.github.com/users/superdump/following{/other_user}","gists_url":"https://api.github.com/users/superdump/gists{/gist_id}","starred_url":"https://api.github.com/users/superdump/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/superdump/subscriptions","organizations_url":"https://api.github.com/users/superdump/orgs","repos_url":"https://api.github.com/users/superdump/repos","events_url":"https://api.github.com/users/superdump/events{/privacy}","received_events_url":"https://api.github.com/users/superdump/received_events","type":"User","site_admin":false},"repo":{"id":24715883,"name":"openwebrtc","full_name":"superdump/openwebrtc","owner":{"login":"superdump","id":302146,"avatar_url":"https://avatars.githubusercontent.com/u/302146?v=3","gravatar_id":"","url":"https://api.github.com/users/superdump","html_url":"https://github.com/superdump","followers_url":"https://api.github.com/users/superdump/followers","following_url":"https://api.github.com/users/superdump/following{/other_user}","gists_url":"https://api.github.com/users/superdump/gists{/gist_id}","starred_url":"https://api.github.com/users/superdump/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/superdump/subscriptions","organizations_url":"https://api.github.com/users/superdump/orgs","repos_url":"https://api.github.com/users/superdump/repos","events_url":"https://api.github.com/users/superdump/events{/privacy}","received_events_url":"https://api.github.com/users/superdump/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/superdump/openwebrtc","description":"A flexible cross-platform WebRTC client framework based on GStreamer","fork":true,"url":"https://api.github.com/repos/superdump/openwebrtc","forks_url":"https://api.github.com/repos/superdump/openwebrtc/forks","keys_url":"https://api.github.com/repos/superdump/openwebrtc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/superdump/openwebrtc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/superdump/openwebrtc/teams","hooks_url":"https://api.github.com/repos/superdump/openwebrtc/hooks","issue_events_url":"https://api.github.com/repos/superdump/openwebrtc/issues/events{/number}","events_url":"https://api.github.com/repos/superdump/openwebrtc/events","assignees_url":"https://api.github.com/repos/superdump/openwebrtc/assignees{/user}","branches_url":"https://api.github.com/repos/superdump/openwebrtc/branches{/branch}","tags_url":"https://api.github.com/repos/superdump/openwebrtc/tags","blobs_url":"https://api.github.com/repos/superdump/openwebrtc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/superdump/openwebrtc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/superdump/openwebrtc/git/refs{/sha}","trees_url":"https://api.github.com/repos/superdump/openwebrtc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/superdump/openwebrtc/statuses/{sha}","languages_url":"https://api.github.com/repos/superdump/openwebrtc/languages","stargazers_url":"https://api.github.com/repos/superdump/openwebrtc/stargazers","contributors_url":"https://api.github.com/repos/superdump/openwebrtc/contributors","subscribers_url":"https://api.github.com/repos/superdump/openwebrtc/subscribers","subscription_url":"https://api.github.com/repos/superdump/openwebrtc/subscription","commits_url":"https://api.github.com/repos/superdump/openwebrtc/commits{/sha}","git_commits_url":"https://api.github.com/repos/superdump/openwebrtc/git/commits{/sha}","comments_url":"https://api.github.com/repos/superdump/openwebrtc/comments{/number}","issue_comment_url":"https://api.github.com/repos/superdump/openwebrtc/issues/comments/{number}","contents_url":"https://api.github.com/repos/superdump/openwebrtc/contents/{+path}","compare_url":"https://api.github.com/repos/superdump/openwebrtc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/superdump/openwebrtc/merges","archive_url":"https://api.github.com/repos/superdump/openwebrtc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/superdump/openwebrtc/downloads","issues_url":"https://api.github.com/repos/superdump/openwebrtc/issues{/number}","pulls_url":"https://api.github.com/repos/superdump/openwebrtc/pulls{/number}","milestones_url":"https://api.github.com/repos/superdump/openwebrtc/milestones{/number}","notifications_url":"https://api.github.com/repos/superdump/openwebrtc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/superdump/openwebrtc/labels{/name}","releases_url":"https://api.github.com/repos/superdump/openwebrtc/releases{/id}","created_at":"2014-10-02T11:07:42Z","updated_at":"2014-10-30T08:07:51Z","pushed_at":"2015-02-09T16:06:42Z","git_url":"git://github.com/superdump/openwebrtc.git","ssh_url":"git@github.com:superdump/openwebrtc.git","clone_url":"https://github.com/superdump/openwebrtc.git","svn_url":"https://github.com/superdump/openwebrtc","homepage":"www.openwebrtc.io","size":910,"stargazers_count":0,"watchers_count":0,"language":"C","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"EricssonResearch:master","ref":"master","sha":"214634970128d99f001408ad0377122b92299594","user":{"login":"EricssonResearch","id":611464,"avatar_url":"https://avatars.githubusercontent.com/u/611464?v=3","gravatar_id":"","url":"https://api.github.com/users/EricssonResearch","html_url":"https://github.com/EricssonResearch","followers_url":"https://api.github.com/users/EricssonResearch/followers","following_url":"https://api.github.com/users/EricssonResearch/following{/other_user}","gists_url":"https://api.github.com/users/EricssonResearch/gists{/gist_id}","starred_url":"https://api.github.com/users/EricssonResearch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/EricssonResearch/subscriptions","organizations_url":"https://api.github.com/users/EricssonResearch/orgs","repos_url":"https://api.github.com/users/EricssonResearch/repos","events_url":"https://api.github.com/users/EricssonResearch/events{/privacy}","received_events_url":"https://api.github.com/users/EricssonResearch/received_events","type":"Organization","site_admin":false},"repo":{"id":24327512,"name":"openwebrtc","full_name":"EricssonResearch/openwebrtc","owner":{"login":"EricssonResearch","id":611464,"avatar_url":"https://avatars.githubusercontent.com/u/611464?v=3","gravatar_id":"","url":"https://api.github.com/users/EricssonResearch","html_url":"https://github.com/EricssonResearch","followers_url":"https://api.github.com/users/EricssonResearch/followers","following_url":"https://api.github.com/users/EricssonResearch/following{/other_user}","gists_url":"https://api.github.com/users/EricssonResearch/gists{/gist_id}","starred_url":"https://api.github.com/users/EricssonResearch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/EricssonResearch/subscriptions","organizations_url":"https://api.github.com/users/EricssonResearch/orgs","repos_url":"https://api.github.com/users/EricssonResearch/repos","events_url":"https://api.github.com/users/EricssonResearch/events{/privacy}","received_events_url":"https://api.github.com/users/EricssonResearch/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/EricssonResearch/openwebrtc","description":"A mobile-first WebRTC client framework for building native apps","fork":false,"url":"https://api.github.com/repos/EricssonResearch/openwebrtc","forks_url":"https://api.github.com/repos/EricssonResearch/openwebrtc/forks","keys_url":"https://api.github.com/repos/EricssonResearch/openwebrtc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/EricssonResearch/openwebrtc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/EricssonResearch/openwebrtc/teams","hooks_url":"https://api.github.com/repos/EricssonResearch/openwebrtc/hooks","issue_events_url":"https://api.github.com/repos/EricssonResearch/openwebrtc/issues/events{/number}","events_url":"https://api.github.com/repos/EricssonResearch/openwebrtc/events","assignees_url":"https://api.github.com/repos/EricssonResearch/openwebrtc/assignees{/user}","branches_url":"https://api.github.com/repos/EricssonResearch/openwebrtc/branches{/branch}","tags_url":"https://api.github.com/repos/EricssonResearch/openwebrtc/tags","blobs_url":"https://api.github.com/repos/EricssonResearch/openwebrtc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/EricssonResearch/openwebrtc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/EricssonResearch/openwebrtc/git/refs{/sha}","trees_url":"https://api.github.com/repos/EricssonResearch/openwebrtc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/EricssonResearch/openwebrtc/statuses/{sha}","languages_url":"https://api.github.com/repos/EricssonResearch/openwebrtc/languages","stargazers_url":"https://api.github.com/repos/EricssonResearch/openwebrtc/stargazers","contributors_url":"https://api.github.com/repos/EricssonResearch/openwebrtc/contributors","subscribers_url":"https://api.github.com/repos/EricssonResearch/openwebrtc/subscribers","subscription_url":"https://api.github.com/repos/EricssonResearch/openwebrtc/subscription","commits_url":"https://api.github.com/repos/EricssonResearch/openwebrtc/commits{/sha}","git_commits_url":"https://api.github.com/repos/EricssonResearch/openwebrtc/git/commits{/sha}","comments_url":"https://api.github.com/repos/EricssonResearch/openwebrtc/comments{/number}","issue_comment_url":"https://api.github.com/repos/EricssonResearch/openwebrtc/issues/comments/{number}","contents_url":"https://api.github.com/repos/EricssonResearch/openwebrtc/contents/{+path}","compare_url":"https://api.github.com/repos/EricssonResearch/openwebrtc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/EricssonResearch/openwebrtc/merges","archive_url":"https://api.github.com/repos/EricssonResearch/openwebrtc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/EricssonResearch/openwebrtc/downloads","issues_url":"https://api.github.com/repos/EricssonResearch/openwebrtc/issues{/number}","pulls_url":"https://api.github.com/repos/EricssonResearch/openwebrtc/pulls{/number}","milestones_url":"https://api.github.com/repos/EricssonResearch/openwebrtc/milestones{/number}","notifications_url":"https://api.github.com/repos/EricssonResearch/openwebrtc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/EricssonResearch/openwebrtc/labels{/name}","releases_url":"https://api.github.com/repos/EricssonResearch/openwebrtc/releases{/id}","created_at":"2014-09-22T12:23:46Z","updated_at":"2015-02-12T09:48:04Z","pushed_at":"2015-02-12T09:16:44Z","git_url":"git://github.com/EricssonResearch/openwebrtc.git","ssh_url":"git@github.com:EricssonResearch/openwebrtc.git","clone_url":"https://github.com/EricssonResearch/openwebrtc.git","svn_url":"https://github.com/EricssonResearch/openwebrtc","homepage":"www.openwebrtc.io","size":4406,"stargazers_count":410,"watchers_count":410,"language":"C","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":170,"mirror_url":null,"open_issues_count":50,"forks":170,"open_issues":50,"watchers":410,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/EricssonResearch/openwebrtc/pulls/166"},"html":{"href":"https://github.com/EricssonResearch/openwebrtc/pull/166"},"issue":{"href":"https://api.github.com/repos/EricssonResearch/openwebrtc/issues/166"},"comments":{"href":"https://api.github.com/repos/EricssonResearch/openwebrtc/issues/166/comments"},"review_comments":{"href":"https://api.github.com/repos/EricssonResearch/openwebrtc/pulls/166/comments"},"review_comment":{"href":"https://api.github.com/repos/EricssonResearch/openwebrtc/pulls/comments/{number}"},"commits":{"href":"https://api.github.com/repos/EricssonResearch/openwebrtc/pulls/166/commits"},"statuses":{"href":"https://api.github.com/repos/EricssonResearch/openwebrtc/statuses/7ae08053b9b005ef6a2640907d31e9f79a400da7"}}}}