{"action":"created","issue":{"url":"https://api.github.com/repos/netty/netty/issues/4759","labels_url":"https://api.github.com/repos/netty/netty/issues/4759/labels{/name}","comments_url":"https://api.github.com/repos/netty/netty/issues/4759/comments","events_url":"https://api.github.com/repos/netty/netty/issues/4759/events","html_url":"https://github.com/netty/netty/pull/4759","id":128905952,"number":4759,"title":"[#4705] Ensure ChannelHandler.handlerAdded(...) is always called as f…","user":{"login":"normanmaurer","id":439362,"avatar_url":"https://avatars.githubusercontent.com/u/439362?v=3","gravatar_id":"","url":"https://api.github.com/users/normanmaurer","html_url":"https://github.com/normanmaurer","followers_url":"https://api.github.com/users/normanmaurer/followers","following_url":"https://api.github.com/users/normanmaurer/following{/other_user}","gists_url":"https://api.github.com/users/normanmaurer/gists{/gist_id}","starred_url":"https://api.github.com/users/normanmaurer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/normanmaurer/subscriptions","organizations_url":"https://api.github.com/users/normanmaurer/orgs","repos_url":"https://api.github.com/users/normanmaurer/repos","events_url":"https://api.github.com/users/normanmaurer/events{/privacy}","received_events_url":"https://api.github.com/users/normanmaurer/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/netty/netty/labels/defect","name":"defect","color":"e11d21"}],"state":"open","locked":false,"assignee":{"login":"normanmaurer","id":439362,"avatar_url":"https://avatars.githubusercontent.com/u/439362?v=3","gravatar_id":"","url":"https://api.github.com/users/normanmaurer","html_url":"https://github.com/normanmaurer","followers_url":"https://api.github.com/users/normanmaurer/followers","following_url":"https://api.github.com/users/normanmaurer/following{/other_user}","gists_url":"https://api.github.com/users/normanmaurer/gists{/gist_id}","starred_url":"https://api.github.com/users/normanmaurer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/normanmaurer/subscriptions","organizations_url":"https://api.github.com/users/normanmaurer/orgs","repos_url":"https://api.github.com/users/normanmaurer/repos","events_url":"https://api.github.com/users/normanmaurer/events{/privacy}","received_events_url":"https://api.github.com/users/normanmaurer/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/netty/netty/milestones/131","html_url":"https://github.com/netty/netty/milestones/4.0.34.Final","labels_url":"https://api.github.com/repos/netty/netty/milestones/131/labels","id":1391004,"number":131,"title":"4.0.34.Final","description":"","creator":{"login":"normanmaurer","id":439362,"avatar_url":"https://avatars.githubusercontent.com/u/439362?v=3","gravatar_id":"","url":"https://api.github.com/users/normanmaurer","html_url":"https://github.com/normanmaurer","followers_url":"https://api.github.com/users/normanmaurer/followers","following_url":"https://api.github.com/users/normanmaurer/following{/other_user}","gists_url":"https://api.github.com/users/normanmaurer/gists{/gist_id}","starred_url":"https://api.github.com/users/normanmaurer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/normanmaurer/subscriptions","organizations_url":"https://api.github.com/users/normanmaurer/orgs","repos_url":"https://api.github.com/users/normanmaurer/repos","events_url":"https://api.github.com/users/normanmaurer/events{/privacy}","received_events_url":"https://api.github.com/users/normanmaurer/received_events","type":"User","site_admin":false},"open_issues":67,"closed_issues":107,"state":"open","created_at":"2015-11-03T10:48:29Z","updated_at":"2016-01-27T02:26:55Z","due_on":null,"closed_at":null},"comments":3,"created_at":"2016-01-26T18:42:10Z","updated_at":"2016-01-27T07:49:51Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/netty/netty/pulls/4759","html_url":"https://github.com/netty/netty/pull/4759","diff_url":"https://github.com/netty/netty/pull/4759.diff","patch_url":"https://github.com/netty/netty/pull/4759.patch"},"body":"…irst method of the handler\r\n\r\nMotivation:\r\n\r\nIf a user adds a ChannelHandler from outside the EventLoop it is possible to get into the situation that handlerAdded(...) is scheduled on the EventLoop and so called after another methods of the ChannelHandler as the EventLoop may already be executing on this point in time.\r\n\r\nModification:\r\n\r\n- Ensure we always check if the handlerAdded(...) method was called already and if not add the currently needed call to the EventLoop so it will be picked up after handlerAdded(...) was called. This works as if the handler is added to the ChannelPipeline from outside the EventLoop the actual handlerAdded(...) operation is scheduled on the EventLoop.\r\n- Some cleanup in the DefaultChannelPipeline\r\n\r\nResult:\r\n\r\nCorrectly order of method executions of ChannelHandler."},"comment":{"url":"https://api.github.com/repos/netty/netty/issues/comments/175468988","html_url":"https://github.com/netty/netty/pull/4759#issuecomment-175468988","issue_url":"https://api.github.com/repos/netty/netty/issues/4759","id":175468988,"user":{"login":"normanmaurer","id":439362,"avatar_url":"https://avatars.githubusercontent.com/u/439362?v=3","gravatar_id":"","url":"https://api.github.com/users/normanmaurer","html_url":"https://github.com/normanmaurer","followers_url":"https://api.github.com/users/normanmaurer/followers","following_url":"https://api.github.com/users/normanmaurer/following{/other_user}","gists_url":"https://api.github.com/users/normanmaurer/gists{/gist_id}","starred_url":"https://api.github.com/users/normanmaurer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/normanmaurer/subscriptions","organizations_url":"https://api.github.com/users/normanmaurer/orgs","repos_url":"https://api.github.com/users/normanmaurer/repos","events_url":"https://api.github.com/users/normanmaurer/events{/privacy}","received_events_url":"https://api.github.com/users/normanmaurer/received_events","type":"User","site_admin":false},"created_at":"2016-01-27T07:49:51Z","updated_at":"2016-01-27T07:49:51Z","body":"@johnou bummer... Can you explain how exactly I can build the \"patched jython\" ?"}}