• Vincent Pelletier's avatar
    Fix deadlock when connecting to an unreachable storage node. · a29756a3
    Vincent Pelletier authored
    Deadlock occurs between connection establishment (which holds the pool
    lock and waits for an answer on its thread queue) and epoll thread, which
    tries to unregister the connection from pool (trying to take pool lock)
    before notifying the queue.
    Unregistering a connection from pool does not require taking the pool lock,
    as it is just meant to prevent connections from being created in parallel.
    
    git-svn-id: https://svn.erp5.org/repos/neo/trunk@2172 71dcc9de-d417-0410-9af5-da40c76e7ee4
    a29756a3
pool.py 5.06 KB