diff -Nur libjingle0.3-0.3.11/talk/p2p/base/p2psocket.cc libjingle0.3-0.3.11.new/talk/p2p/base/p2psocket.cc --- libjingle0.3-0.3.11/talk/p2p/base/p2psocket.cc 2007-04-25 16:45:58.000000000 +0100 +++ libjingle0.3-0.3.11.new/talk/p2p/base/p2psocket.cc 2007-05-01 16:53:55.000000000 +0100 @@ -477,8 +477,12 @@ } int sent = best_connection_->Send(data, len); if (sent <= 0) { - assert(sent < 0); error_ = best_connection_->GetError(); + + if (error_ == EWOULDBLOCK) { + // This means the best_connection_ is not writable, let's resort + RequestSort(); + } } return sent; }