@@ -126,17 +126,11 @@ if (_atEndOfStream) { OFReadFailedException *e; e = [OFReadFailedException exceptionWithStream: self requestedLength: length]; - -#ifndef _WIN32 e->_errNo = ENOTCONN; -#else - e->_errNo = WSAENOTCONN; -#endif - @throw e; } if (!_hasContentLength && !_chunked) return [_socket readIntoBuffer: buffer @@ -435,14 +429,13 @@ [requestString appendString: @"\r\n"]; @try { [socket writeString: requestString]; } @catch (OFWriteFailedException *e) { - /* Reconnect in case a keep-alive connection timed out */ - socket = [self OF_createSocketForRequest: request]; - [socket writeString: requestString]; - } @catch (OFNotConnectedException *e) { + if ([e errNo] != ECONNRESET && [e errNo] != EPIPE) + @throw e; + /* Reconnect in case a keep-alive connection timed out */ socket = [self OF_createSocketForRequest: request]; [socket writeString: requestString]; }