IOExceptions caught during a doWrite() should fire in the pipeline

Silently calling close() on the channel here makes debugging a nightmare