You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Dmitry Konishchev (JIRA)" <ji...@apache.org> on 2010/12/03 22:42:11 UTC

[jira] Updated: (QPID-2968) Blocking on dead sockets

     [ https://issues.apache.org/jira/browse/QPID-2968?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Dmitry Konishchev updated QPID-2968:
------------------------------------

    Attachment: patch

The following patch fixes the bugs.

> Blocking on dead sockets
> ------------------------
>
>                 Key: QPID-2968
>                 URL: https://issues.apache.org/jira/browse/QPID-2968
>             Project: Qpid
>          Issue Type: Bug
>          Components: Python Client
>    Affects Versions: Future, 0.9, 0.8, 0.7
>         Environment: Does not matter
>            Reporter: Dmitry Konishchev
>             Fix For: Future, 0.9, 0.8, 0.7
>
>         Attachments: patch
>
>
> * If you open a few connections, and one of them breaks (for example, 
>   due to a network error), another connections can be locked for time, which is 
>   equal to network timeout of the broken connection. This happens due to 
>   working with sockets in blocking mode and due to using one Selector for all 
>   connections. 
> * All connections could become locked forever due to races between 
>   Driver and Selector objects. Driver object removes itself from the Selector 
>   non-atomically and a situation when Driver is alredy closed, but the Selector 
>   refers to it could happen. In this case select() call in the Selector raise 
>   an exeption due to self._transport.fileno() call on Driver where 
>   self._transport is None. The selector doesn't handle errors on select(), so 
>   the selector's thread will be stopped due to unhandled Exception. 
> * There is no checks on EINTR error on os.* calls. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org