b16557371c
There was no error checking when sending headers/metadata, so what would happen is that if a header/metadata send failed (meaning the socket was disconnected), it would continue to act as if it was still connected, and it would block and lock up on the next send/recv call.