diff --git a/ChangeLog b/ChangeLog index 2b252b414..94a91d7ab 100644 --- a/ChangeLog +++ b/ChangeLog @@ -7,6 +7,7 @@ not automatically flushed! * Source/GSWindowsFileHandle.m: watch for exceptional conditions so we can handle socket failures. + * Source/GSTcpPort.mL ditto. 2002-03-22 Richard Frith-Macdonald diff --git a/Source/GSTcpPort.m b/Source/GSTcpPort.m index fd7e09254..3a435acc0 100644 --- a/Source/GSTcpPort.m +++ b/Source/GSTcpPort.m @@ -551,6 +551,10 @@ static Class runLoopClass; type: ET_WDESC watcher: self forMode: NSDefaultRunLoopMode]; + [l addEvent: (void*)(gsaddr)desc + type: ET_EDESC + watcher: self + forMode: NSDefaultRunLoopMode]; while (state == GS_H_TRYCON && [when timeIntervalSinceNow] > 0) { [l runMode: NSDefaultRunLoopMode beforeDate: when]; @@ -559,6 +563,10 @@ static Class runLoopClass; type: ET_WDESC forMode: NSDefaultRunLoopMode all: NO]; + [l removeEvent: (void*)(gsaddr)desc + type: ET_EDESC + forMode: NSDefaultRunLoopMode + all: NO]; if (state == GS_H_TRYCON) { @@ -713,6 +721,10 @@ static Class runLoopClass; type: ET_WDESC forMode: mode all: YES]; + [l removeEvent: data + type: ET_EDESC + forMode: mode + all: YES]; return; } @@ -1021,7 +1033,7 @@ static Class runLoopClass; } } } - else if (type == ET_WDESC) + else { if (state == GS_H_TRYCON) /* Connection attempt. */ {