[ https://issues.apache.org/jira/browse/PROTON-1045?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15002622#comment-15002622 ]
ASF subversion and git services commented on PROTON-1045: --------------------------------------------------------- Commit 91fe6e0fda07efa07f10a97d906eee114c86d6bf in qpid-proton's branch refs/heads/master from [~aconway] [ https://git-wip-us.apache.org/repos/asf?p=qpid-proton.git;h=91fe6e0 ] PROTON-1045: Use of callbacks to handle accepted endpoints violates design goals. Get rid of use of callback functions that run in proton goroutine. Use a channel instead for Incoming requests, all user code runs in user goroutines. Safer and more consistent. > Use of callbacks to handle accepted endpoints violates design goals. > -------------------------------------------------------------------- > > Key: PROTON-1045 > URL: https://issues.apache.org/jira/browse/PROTON-1045 > Project: Qpid Proton > Issue Type: Bug > Components: go-binding > Affects Versions: 0.11 > Reporter: Alan Conway > Assignee: Alan Conway > Fix For: 0.12.0 > > > The electron.Connectoin takes an "accept" callback function to process > incoming endpoint requests (sessions, links) This violates the original > design goal to have no user code called in the proton goroutine. It relies on > the user knowing which functions they are allowed to call in the callback > since many user-facing functions can deadlock if called in the proton > goroutine. > Fix this by having proton provide Incoming requests to the user via a > channel. This is also more consistent with typical use of the go net package: > when there is something to accept, you start a goroutine to do it, you don't > register a callback. -- This message was sent by Atlassian JIRA (v6.3.4#6332)