What is the purpose of this check here?  Intuitively it seems way too hopeful to expect an error to have appeared between flush() and this check.  Besides, we already gave the data to the TCPConn, so I don't see the point of trying to fail here even if it happened every now and then.