Skip to content

Fix a possible deadlock in TCP accepting

Witold Krecicki requested to merge 1046-deadlock-in-tcp-code into master

Each network thread holds an array of locks, indexed by a hash of fd. When we accept a connection we hold a lock in accepting thread. We then generate the thread number and lock bucket for the new connections socket - if we hit the same thread and lock bucket as accepting socket we get a deadlock. Avoid this by checking if we're in the same thread/lock bucket and not locking in this case.

Closes #1046

Edited by Witold Krecicki

Merge request reports