[jira] [Commented] (PROTON-1504) epoll proactor: no PN_LISTENER_ACCEPT events if no FDs available

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Commented] (PROTON-1504) epoll proactor: no PN_LISTENER_ACCEPT events if no FDs available

JIRA jira@apache.org

    [ https://issues.apache.org/jira/browse/PROTON-1504?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16054457#comment-16054457 ]

ASF subversion and git services commented on PROTON-1504:
---------------------------------------------------------

Commit fcee87743abdfc626b8ca045dd52da5d3cae9e71 in qpid-proton's branch refs/heads/master from [~aconway]
[ https://git-wip-us.apache.org/repos/asf?p=qpid-proton.git;h=fcee877 ]

PROTON-1504: epoll proactor fix race condition in ENFILE/EMFILE

If the EMFILE error occured on a timer FD rather than a network socket,
the proactor would crash when trying to re-arm the timer. Fixed to check
for this condition.


> epoll proactor: no PN_LISTENER_ACCEPT events if no FDs available
> ----------------------------------------------------------------
>
>                 Key: PROTON-1504
>                 URL: https://issues.apache.org/jira/browse/PROTON-1504
>             Project: Qpid Proton
>          Issue Type: Bug
>    Affects Versions: 0.17.0
>            Reporter: Alan Conway
>            Assignee: Alan Conway
>             Fix For: 0.18.0
>
>
> The libuv proactor does not generate PN_LISTENER_ACCEPT events if there are no FDs available to accept the connection, i.e. if accept() returns ENFILE or EMFILE. (Actually this is handled by libuv itself, the proactor code never sees these errors)
> Make the epoll proactor do the same. Currently it generates PN_LISTENER_ACCEPT and raises  a TRANSPORT_ERROR after the user calls pn_listener_accept()



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]