diff --git a/ChangeLog b/ChangeLog index 87d7937da..1d78a6a69 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2006-07-18 Richard Frith-Macdonald + + * Source/GSHTTPURLHandle.m: Only queue a new read on a handle if there + is not one in progress. Where a connection has been kept alive, we + can have an outstanding read intended to determine when the connection + is dropped by the remote end. + 2006-07-15 17:00 Gregory John Casamento * Source/NSKeyedUnarchiver.m: Partial fix for bug#17112. diff --git a/Source/GSHTTPURLHandle.m b/Source/GSHTTPURLHandle.m index 558f7cb8b..23440132b 100644 --- a/Source/GSHTTPURLHandle.m +++ b/Source/GSHTTPURLHandle.m @@ -708,7 +708,10 @@ static void debugWrite(GSHTTPURLHandle *handle, NSData *data) if (sock != nil && (connectionState == reading || connectionState == idle)) { - [sock readInBackgroundAndNotify]; + if ([sock readInProgress] == NO) + { + [sock readInBackgroundAndNotify]; + } } } RELEASE(self); @@ -755,7 +758,10 @@ static void debugWrite(GSHTTPURLHandle *handle, NSData *data) } else { - [sock readInBackgroundAndNotify]; + if ([sock readInProgress] == NO) + { + [sock readInBackgroundAndNotify]; + } } RELEASE(p); RELEASE(self);