{"action":"closed","number":216,"pull_request":{"url":"https://api.github.com/repos/smartdevicelink/sdl_core/pulls/216","id":44946866,"html_url":"https://github.com/smartdevicelink/sdl_core/pull/216","diff_url":"https://github.com/smartdevicelink/sdl_core/pull/216.diff","patch_url":"https://github.com/smartdevicelink/sdl_core/pull/216.patch","issue_url":"https://api.github.com/repos/smartdevicelink/sdl_core/issues/216","number":216,"state":"closed","locked":false,"title":"Fix Logger's TelnetAppender socket reopen on fast restart","user":{"login":"asenkk","id":9448274,"avatar_url":"https://avatars.githubusercontent.com/u/9448274?v=3","gravatar_id":"","url":"https://api.github.com/users/asenkk","html_url":"https://github.com/asenkk","followers_url":"https://api.github.com/users/asenkk/followers","following_url":"https://api.github.com/users/asenkk/following{/other_user}","gists_url":"https://api.github.com/users/asenkk/gists{/gist_id}","starred_url":"https://api.github.com/users/asenkk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/asenkk/subscriptions","organizations_url":"https://api.github.com/users/asenkk/orgs","repos_url":"https://api.github.com/users/asenkk/repos","events_url":"https://api.github.com/users/asenkk/events{/privacy}","received_events_url":"https://api.github.com/users/asenkk/received_events","type":"User","site_admin":false},"body":"When SDL is stopped, TelnetAppender's server socket listening on port\r\n6676 will remain in TIME_WAIT state (if there was a client connected\r\nto it) fr some time, depending on the operating system settings.\r\nWith the old code, if we restart SDL soon after stopping it,\r\nTelnetApplender will fail to bind to its port, because 'it is in use'.\r\nThe fix is to set SO_REUSEADDR option to server socket when opening\r\nit - this will allow the port to be reused when it is in TIME_WAIT\r\nstate.","created_at":"2015-09-14T15:51:09Z","updated_at":"2015-09-25T14:01:47Z","closed_at":"2015-09-25T14:01:47Z","merged_at":"2015-09-25T14:01:47Z","merge_commit_sha":"ca2fd52c0d7fb366d9b5b64a16a1fb384e99e44e","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/smartdevicelink/sdl_core/pulls/216/commits","review_comments_url":"https://api.github.com/repos/smartdevicelink/sdl_core/pulls/216/comments","review_comment_url":"https://api.github.com/repos/smartdevicelink/sdl_core/pulls/comments{/number}","comments_url":"https://api.github.com/repos/smartdevicelink/sdl_core/issues/216/comments","statuses_url":"https://api.github.com/repos/smartdevicelink/sdl_core/statuses/487bca81733bd5dd5586a9e62e80d31379d54763","head":{"label":"LuxoftSDL:hotfix/Fix_Loggers_TelnetAppender_port_reuse_on_fast_restart","ref":"hotfix/Fix_Loggers_TelnetAppender_port_reuse_on_fast_restart","sha":"487bca81733bd5dd5586a9e62e80d31379d54763","user":{"login":"LuxoftSDL","id":11190760,"avatar_url":"https://avatars.githubusercontent.com/u/11190760?v=3","gravatar_id":"","url":"https://api.github.com/users/LuxoftSDL","html_url":"https://github.com/LuxoftSDL","followers_url":"https://api.github.com/users/LuxoftSDL/followers","following_url":"https://api.github.com/users/LuxoftSDL/following{/other_user}","gists_url":"https://api.github.com/users/LuxoftSDL/gists{/gist_id}","starred_url":"https://api.github.com/users/LuxoftSDL/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/LuxoftSDL/subscriptions","organizations_url":"https://api.github.com/users/LuxoftSDL/orgs","repos_url":"https://api.github.com/users/LuxoftSDL/repos","events_url":"https://api.github.com/users/LuxoftSDL/events{/privacy}","received_events_url":"https://api.github.com/users/LuxoftSDL/received_events","type":"Organization","site_admin":false},"repo":{"id":31205172,"name":"sdl_core","full_name":"LuxoftSDL/sdl_core","owner":{"login":"LuxoftSDL","id":11190760,"avatar_url":"https://avatars.githubusercontent.com/u/11190760?v=3","gravatar_id":"","url":"https://api.github.com/users/LuxoftSDL","html_url":"https://github.com/LuxoftSDL","followers_url":"https://api.github.com/users/LuxoftSDL/followers","following_url":"https://api.github.com/users/LuxoftSDL/following{/other_user}","gists_url":"https://api.github.com/users/LuxoftSDL/gists{/gist_id}","starred_url":"https://api.github.com/users/LuxoftSDL/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/LuxoftSDL/subscriptions","organizations_url":"https://api.github.com/users/LuxoftSDL/orgs","repos_url":"https://api.github.com/users/LuxoftSDL/repos","events_url":"https://api.github.com/users/LuxoftSDL/events{/privacy}","received_events_url":"https://api.github.com/users/LuxoftSDL/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/LuxoftSDL/sdl_core","description":"","fork":true,"url":"https://api.github.com/repos/LuxoftSDL/sdl_core","forks_url":"https://api.github.com/repos/LuxoftSDL/sdl_core/forks","keys_url":"https://api.github.com/repos/LuxoftSDL/sdl_core/keys{/key_id}","collaborators_url":"https://api.github.com/repos/LuxoftSDL/sdl_core/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/LuxoftSDL/sdl_core/teams","hooks_url":"https://api.github.com/repos/LuxoftSDL/sdl_core/hooks","issue_events_url":"https://api.github.com/repos/LuxoftSDL/sdl_core/issues/events{/number}","events_url":"https://api.github.com/repos/LuxoftSDL/sdl_core/events","assignees_url":"https://api.github.com/repos/LuxoftSDL/sdl_core/assignees{/user}","branches_url":"https://api.github.com/repos/LuxoftSDL/sdl_core/branches{/branch}","tags_url":"https://api.github.com/repos/LuxoftSDL/sdl_core/tags","blobs_url":"https://api.github.com/repos/LuxoftSDL/sdl_core/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/LuxoftSDL/sdl_core/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/LuxoftSDL/sdl_core/git/refs{/sha}","trees_url":"https://api.github.com/repos/LuxoftSDL/sdl_core/git/trees{/sha}","statuses_url":"https://api.github.com/repos/LuxoftSDL/sdl_core/statuses/{sha}","languages_url":"https://api.github.com/repos/LuxoftSDL/sdl_core/languages","stargazers_url":"https://api.github.com/repos/LuxoftSDL/sdl_core/stargazers","contributors_url":"https://api.github.com/repos/LuxoftSDL/sdl_core/contributors","subscribers_url":"https://api.github.com/repos/LuxoftSDL/sdl_core/subscribers","subscription_url":"https://api.github.com/repos/LuxoftSDL/sdl_core/subscription","commits_url":"https://api.github.com/repos/LuxoftSDL/sdl_core/commits{/sha}","git_commits_url":"https://api.github.com/repos/LuxoftSDL/sdl_core/git/commits{/sha}","comments_url":"https://api.github.com/repos/LuxoftSDL/sdl_core/comments{/number}","issue_comment_url":"https://api.github.com/repos/LuxoftSDL/sdl_core/issues/comments{/number}","contents_url":"https://api.github.com/repos/LuxoftSDL/sdl_core/contents/{+path}","compare_url":"https://api.github.com/repos/LuxoftSDL/sdl_core/compare/{base}...{head}","merges_url":"https://api.github.com/repos/LuxoftSDL/sdl_core/merges","archive_url":"https://api.github.com/repos/LuxoftSDL/sdl_core/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/LuxoftSDL/sdl_core/downloads","issues_url":"https://api.github.com/repos/LuxoftSDL/sdl_core/issues{/number}","pulls_url":"https://api.github.com/repos/LuxoftSDL/sdl_core/pulls{/number}","milestones_url":"https://api.github.com/repos/LuxoftSDL/sdl_core/milestones{/number}","notifications_url":"https://api.github.com/repos/LuxoftSDL/sdl_core/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/LuxoftSDL/sdl_core/labels{/name}","releases_url":"https://api.github.com/repos/LuxoftSDL/sdl_core/releases{/id}","created_at":"2015-02-23T11:22:47Z","updated_at":"2015-04-20T12:49:20Z","pushed_at":"2015-09-21T12:28:09Z","git_url":"git://github.com/LuxoftSDL/sdl_core.git","ssh_url":"git@github.com:LuxoftSDL/sdl_core.git","clone_url":"https://github.com/LuxoftSDL/sdl_core.git","svn_url":"https://github.com/LuxoftSDL/sdl_core","homepage":"","size":20774,"stargazers_count":1,"watchers_count":1,"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":1,"default_branch":"develop"}},"base":{"label":"smartdevicelink:release/4.0.0","ref":"release/4.0.0","sha":"12d569a8ae8f8822c3bba13c82f3667780d94250","user":{"login":"smartdevicelink","id":8671397,"avatar_url":"https://avatars.githubusercontent.com/u/8671397?v=3","gravatar_id":"","url":"https://api.github.com/users/smartdevicelink","html_url":"https://github.com/smartdevicelink","followers_url":"https://api.github.com/users/smartdevicelink/followers","following_url":"https://api.github.com/users/smartdevicelink/following{/other_user}","gists_url":"https://api.github.com/users/smartdevicelink/gists{/gist_id}","starred_url":"https://api.github.com/users/smartdevicelink/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/smartdevicelink/subscriptions","organizations_url":"https://api.github.com/users/smartdevicelink/orgs","repos_url":"https://api.github.com/users/smartdevicelink/repos","events_url":"https://api.github.com/users/smartdevicelink/events{/privacy}","received_events_url":"https://api.github.com/users/smartdevicelink/received_events","type":"Organization","site_admin":false},"repo":{"id":24724170,"name":"sdl_core","full_name":"smartdevicelink/sdl_core","owner":{"login":"smartdevicelink","id":8671397,"avatar_url":"https://avatars.githubusercontent.com/u/8671397?v=3","gravatar_id":"","url":"https://api.github.com/users/smartdevicelink","html_url":"https://github.com/smartdevicelink","followers_url":"https://api.github.com/users/smartdevicelink/followers","following_url":"https://api.github.com/users/smartdevicelink/following{/other_user}","gists_url":"https://api.github.com/users/smartdevicelink/gists{/gist_id}","starred_url":"https://api.github.com/users/smartdevicelink/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/smartdevicelink/subscriptions","organizations_url":"https://api.github.com/users/smartdevicelink/orgs","repos_url":"https://api.github.com/users/smartdevicelink/repos","events_url":"https://api.github.com/users/smartdevicelink/events{/privacy}","received_events_url":"https://api.github.com/users/smartdevicelink/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/smartdevicelink/sdl_core","description":"SmartDeviceLink In-Vehicle Software and Sample HMI","fork":false,"url":"https://api.github.com/repos/smartdevicelink/sdl_core","forks_url":"https://api.github.com/repos/smartdevicelink/sdl_core/forks","keys_url":"https://api.github.com/repos/smartdevicelink/sdl_core/keys{/key_id}","collaborators_url":"https://api.github.com/repos/smartdevicelink/sdl_core/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/smartdevicelink/sdl_core/teams","hooks_url":"https://api.github.com/repos/smartdevicelink/sdl_core/hooks","issue_events_url":"https://api.github.com/repos/smartdevicelink/sdl_core/issues/events{/number}","events_url":"https://api.github.com/repos/smartdevicelink/sdl_core/events","assignees_url":"https://api.github.com/repos/smartdevicelink/sdl_core/assignees{/user}","branches_url":"https://api.github.com/repos/smartdevicelink/sdl_core/branches{/branch}","tags_url":"https://api.github.com/repos/smartdevicelink/sdl_core/tags","blobs_url":"https://api.github.com/repos/smartdevicelink/sdl_core/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/smartdevicelink/sdl_core/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/smartdevicelink/sdl_core/git/refs{/sha}","trees_url":"https://api.github.com/repos/smartdevicelink/sdl_core/git/trees{/sha}","statuses_url":"https://api.github.com/repos/smartdevicelink/sdl_core/statuses/{sha}","languages_url":"https://api.github.com/repos/smartdevicelink/sdl_core/languages","stargazers_url":"https://api.github.com/repos/smartdevicelink/sdl_core/stargazers","contributors_url":"https://api.github.com/repos/smartdevicelink/sdl_core/contributors","subscribers_url":"https://api.github.com/repos/smartdevicelink/sdl_core/subscribers","subscription_url":"https://api.github.com/repos/smartdevicelink/sdl_core/subscription","commits_url":"https://api.github.com/repos/smartdevicelink/sdl_core/commits{/sha}","git_commits_url":"https://api.github.com/repos/smartdevicelink/sdl_core/git/commits{/sha}","comments_url":"https://api.github.com/repos/smartdevicelink/sdl_core/comments{/number}","issue_comment_url":"https://api.github.com/repos/smartdevicelink/sdl_core/issues/comments{/number}","contents_url":"https://api.github.com/repos/smartdevicelink/sdl_core/contents/{+path}","compare_url":"https://api.github.com/repos/smartdevicelink/sdl_core/compare/{base}...{head}","merges_url":"https://api.github.com/repos/smartdevicelink/sdl_core/merges","archive_url":"https://api.github.com/repos/smartdevicelink/sdl_core/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/smartdevicelink/sdl_core/downloads","issues_url":"https://api.github.com/repos/smartdevicelink/sdl_core/issues{/number}","pulls_url":"https://api.github.com/repos/smartdevicelink/sdl_core/pulls{/number}","milestones_url":"https://api.github.com/repos/smartdevicelink/sdl_core/milestones{/number}","notifications_url":"https://api.github.com/repos/smartdevicelink/sdl_core/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/smartdevicelink/sdl_core/labels{/name}","releases_url":"https://api.github.com/repos/smartdevicelink/sdl_core/releases{/id}","created_at":"2014-10-02T15:16:26Z","updated_at":"2015-09-15T08:06:23Z","pushed_at":"2015-09-25T14:01:47Z","git_url":"git://github.com/smartdevicelink/sdl_core.git","ssh_url":"git@github.com:smartdevicelink/sdl_core.git","clone_url":"https://github.com/smartdevicelink/sdl_core.git","svn_url":"https://github.com/smartdevicelink/sdl_core","homepage":"","size":295935,"stargazers_count":21,"watchers_count":21,"language":"C++","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":27,"mirror_url":null,"open_issues_count":44,"forks":27,"open_issues":44,"watchers":21,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/smartdevicelink/sdl_core/pulls/216"},"html":{"href":"https://github.com/smartdevicelink/sdl_core/pull/216"},"issue":{"href":"https://api.github.com/repos/smartdevicelink/sdl_core/issues/216"},"comments":{"href":"https://api.github.com/repos/smartdevicelink/sdl_core/issues/216/comments"},"review_comments":{"href":"https://api.github.com/repos/smartdevicelink/sdl_core/pulls/216/comments"},"review_comment":{"href":"https://api.github.com/repos/smartdevicelink/sdl_core/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/smartdevicelink/sdl_core/pulls/216/commits"},"statuses":{"href":"https://api.github.com/repos/smartdevicelink/sdl_core/statuses/487bca81733bd5dd5586a9e62e80d31379d54763"}},"merged":true,"mergeable":null,"mergeable_state":"unknown","merged_by":{"login":"AGaliuzov","id":11158516,"avatar_url":"https://avatars.githubusercontent.com/u/11158516?v=3","gravatar_id":"","url":"https://api.github.com/users/AGaliuzov","html_url":"https://github.com/AGaliuzov","followers_url":"https://api.github.com/users/AGaliuzov/followers","following_url":"https://api.github.com/users/AGaliuzov/following{/other_user}","gists_url":"https://api.github.com/users/AGaliuzov/gists{/gist_id}","starred_url":"https://api.github.com/users/AGaliuzov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AGaliuzov/subscriptions","organizations_url":"https://api.github.com/users/AGaliuzov/orgs","repos_url":"https://api.github.com/users/AGaliuzov/repos","events_url":"https://api.github.com/users/AGaliuzov/events{/privacy}","received_events_url":"https://api.github.com/users/AGaliuzov/received_events","type":"User","site_admin":false},"comments":0,"review_comments":0,"commits":1,"additions":6,"deletions":0,"changed_files":1}}