Dominic Evans updated PROTON-682:
    Attachment: 36_socket_hangup_fix_selector.h.patch

Proposed fix attached.

> proton-c: a call to pn_messenger_stop can get into an infinite loop if the 
> remote connection is severed
> -------------------------------------------------------------------------------------------------------
>                 Key: PROTON-682
>                 URL: https://issues.apache.org/jira/browse/PROTON-682
>             Project: Qpid Proton
>          Issue Type: Bug
>            Reporter: Dominic Evans
>         Attachments: 36_socket_hangup_fix_messenger.c.patch, 
> 36_socket_hangup_fix_selector.c.patch, 36_socket_hangup_fix_selector.h.patch
> The problem is that the transport layer is not being closed down properly if 
> output is pending when the connection is severed and a messenger stop is 
> requested. pn_messenger_stop needs to send out an AMQP close message any will 
> only do this when there is an event to say that it can write (i.e 
> pn_messenger_process gets a PN_WRITABLE event from pn_selector_next, which 
> examines the pollfd and sets PN_WRITABLE event if POLLOUT is set in revents). 
> Because this event is never generated it seems to loop forever.

This message was sent by Atlassian JIRA

Reply via email to