[jira] [Commented] (PROTON-1030) Reactor never freed if handler/global_handler set
[ https://issues.apache.org/jira/browse/PROTON-1030?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14967748#comment-14967748 ] ASF subversion and git services commented on PROTON-1030: - Commit bbba61afef7c2c67cd6be6a0393dd5233d0d473c in qpid-proton's branch refs/heads/master from [~gsim] [ https://git-wip-us.apache.org/repos/asf?p=qpid-proton.git;h=bbba61a ] PROTON-1030: workaround that resets reactors handlers after stopping to allow it to be freed > Reactor never freed if handler/global_handler set > - > > Key: PROTON-1030 > URL: https://issues.apache.org/jira/browse/PROTON-1030 > Project: Qpid Proton > Issue Type: Bug > Components: python-binding >Affects Versions: 0.10 >Reporter: Gordon Sim > Fix For: 0.11 > > > E.g. > {noformat} > from proton.reactor import Container, Reactor > class Print(object): > def on_unhandled(self, name, event): > print("%s %s" % (name, event)) > while True: > container = Reactor() > container.handler = Print() > container.start() > container.stop() > {noformat} > Will grow in memory and eventually crash. On debugging the reactor is never > finalised. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (PROTON-1030) Reactor never freed if handler/global_handler set
[ https://issues.apache.org/jira/browse/PROTON-1030?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14967752#comment-14967752 ] Gordon Sim commented on PROTON-1030: I've committed a fix for this in the python binding. It feels like this should really be handled more cleanly in the c code, but the reference counting there is still something of a mystery to me. > Reactor never freed if handler/global_handler set > - > > Key: PROTON-1030 > URL: https://issues.apache.org/jira/browse/PROTON-1030 > Project: Qpid Proton > Issue Type: Bug > Components: python-binding >Affects Versions: 0.10 >Reporter: Gordon Sim > Fix For: 0.11 > > > E.g. > {noformat} > from proton.reactor import Reactor > class Print(object): > def on_unhandled(self, name, event): > print("%s %s" % (name, event)) > while True: > reactor = Reactor() > reactor.handler = Print() > reactor.start() > reactor.stop() > {noformat} > Will grow in memory and eventually crash. On debugging the reactor is never > finalised. -- This message was sent by Atlassian JIRA (v6.3.4#6332)