If the initial handshake that is sent by the accepting thread is buffered, the subsequent flushing of it is done by the owning thread. As cross-thread buffer usage is not allowed, the initial handshake must be sent by the owning thread.