Originally Posted By: Wims
(I think it would be if it did stop the sockread, because he could resume the sockreads when he's ready to send more data)

It's not good because the receive buffer is not an infinite size, and it could fill more rapidly than the send buffer empties.

To illustrate this point in a basic way, suppose your bandwidth is capped at 50KB/sec upload (but your download speed is faster). You receive data at a steady 60KB/sec from socket A, and attempt to send that data to socket B, but your internet connection limits it to 50KB/sec. Within seconds you have a buffer overflow.