Tweak last change to avoid possible crashes.

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@21169 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
CaS 2005-04-29 19:10:46 +00:00
parent a03f16128d
commit 90c5c054cd
2 changed files with 25 additions and 9 deletions

View file

@ -1,3 +1,9 @@
2005-04-29 Richard Frith-Macdonald <rfm@gnu.org>
* Source/GSHTTPURLHandle.m: Remove self as an observer of our file
handle on deallocation ... prevent notfications being sent to
deallocated object.
2005-04-28 Richard Frith-Macdonald <rfm@gnu.org> 2005-04-28 Richard Frith-Macdonald <rfm@gnu.org>
* Documentation/coding-standards.texi: Added what appear to be the * Documentation/coding-standards.texi: Added what appear to be the

View file

@ -256,18 +256,28 @@ static void debugWrite(GSHTTPURLHandle *handle, NSData *data)
{ {
if (sock != nil) if (sock != nil)
{ {
NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];
/*
* We might be in an idle state with an outstandng read on the
* socket, keeping the connection alive, but waiting for the
* remote end to drop it.
*/
[nc removeObserver: self
name: NSFileHandleReadCompletionNotification
object: sock];
[sock closeFile]; [sock closeFile];
DESTROY(sock); DESTROY(sock);
} }
RELEASE(u); DESTROY(u);
RELEASE(url); DESTROY(url);
RELEASE(dat); DESTROY(dat);
RELEASE(parser); DESTROY(parser);
RELEASE(document); DESTROY(document);
RELEASE(pageInfo); DESTROY(pageInfo);
RELEASE(wData); DESTROY(wData);
RELEASE(wProperties); DESTROY(wProperties);
RELEASE(request); DESTROY(request);
[super dealloc]; [super dealloc];
} }