| Index: net/socket/ssl_server_socket_nss.cc
|
| diff --git a/net/socket/ssl_server_socket_nss.cc b/net/socket/ssl_server_socket_nss.cc
|
| index bdcff2c1002aab343b04c8327ea970b7ec844524..0bb65bbb09f258657535c7ad890451ece5a8c588 100644
|
| --- a/net/socket/ssl_server_socket_nss.cc
|
| +++ b/net/socket/ssl_server_socket_nss.cc
|
| @@ -535,7 +535,7 @@ bool SSLServerSocketNSS::DoTransportIO() {
|
| if (nss_bufs_ != NULL) {
|
| int nsent = BufferSend();
|
| int nreceived = BufferRecv();
|
| - network_moved = (nsent > 0 || nreceived >= 0);
|
| + network_moved = (nsent > 0 || nreceived > 0);
|
| }
|
| return network_moved;
|
| }
|
| @@ -623,6 +623,11 @@ int SSLServerSocketNSS::DoReadLoop(int result) {
|
| rv = DoPayloadRead();
|
| network_moved = DoTransportIO();
|
| } while (rv == ERR_IO_PENDING && network_moved);
|
| +
|
| + do {
|
| + network_moved = DoTransportIO();
|
| + } while (network_moved);
|
| +
|
| return rv;
|
| }
|
|
|
| @@ -647,6 +652,11 @@ int SSLServerSocketNSS::DoWriteLoop(int result) {
|
| rv = DoPayloadWrite();
|
| network_moved = DoTransportIO();
|
| } while (rv == ERR_IO_PENDING && network_moved);
|
| +
|
| + do {
|
| + network_moved = DoTransportIO();
|
| + } while (network_moved);
|
| +
|
| return rv;
|
| }
|
|
|
|
|