Index: src/OFStream.m ================================================================== --- src/OFStream.m +++ src/OFStream.m @@ -1907,14 +1907,10 @@ _readBufferLength += length; } - (void)close { -#ifdef OF_HAVE_SOCKETS - [self cancelAsyncRequests]; -#endif - [self freeMemory: _readBufferMemory]; _readBuffer = _readBufferMemory = NULL; _readBufferLength = 0; [self freeMemory: _writeBuffer]; Index: src/OFStreamSocket.m ================================================================== --- src/OFStreamSocket.m +++ src/OFStreamSocket.m @@ -174,10 +174,14 @@ - (void)close { if (_socket == INVALID_SOCKET) @throw [OFNotOpenException exceptionWithObject: self]; + +#ifdef OF_HAVE_SOCKETS + [self cancelAsyncRequests]; +#endif closesocket(_socket); _socket = INVALID_SOCKET; _atEndOfStream = false;