[
https://issues.apache.org/jira/browse/PROTON-569?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13982035#comment-13982035
]
ASF subversion and git services commented on PROTON-569:
--------------------------------------------------------
Commit 1590244 from [~fadams] in branch 'proton/trunk'
[ https://svn.apache.org/r1590244 ]
PROTON-569: Initialise pipe file descriptors to -1 in messenger prior to
calling pn_pipe
> Initialise pipe file descriptors to -1 in messenger prior to calling pn_pipe
> ----------------------------------------------------------------------------
>
> Key: PROTON-569
> URL: https://issues.apache.org/jira/browse/PROTON-569
> Project: Qpid Proton
> Issue Type: Bug
> Reporter: Fraser Adams
> Priority: Minor
>
> In messenger the pipe file descriptors are not initialised prior to the call
> to pn_pipe. In most cases this isn't an issue as the call to pipe should do
> something, however there is no check made for pn_pipe failing and indeed the
> control pipe/interrupt stuff is essentially not an essential part of
> messenger so that is reasonable. The issue I've seen though is for the
> JavaScript bindings I'm working on, in emscripten the pipe call essentially
> does nothing and just returns -1, the problem however is that the
> uninitialised pipe file descriptors are zero, in other words m->ctrl[0] = 0,
> which is the filedescriptor for stdin!!!
> I kept on getting PN_INTR errors until I worked out what was going on.
> See also https://github.com/kripken/emscripten/issues/2313
> Simply doing
> m->ctrl[0] = -1;
> m->ctrl[1] = -1;
> before
> pn_pipe(m->io, m->ctrl);
> Makes things behave as expected.
--
This message was sent by Atlassian JIRA
(v6.2#6252)