From 30812e7dd017c24c6fe9087088d51216f735512a Mon Sep 17 00:00:00 2001 From: andreas_kupries Date: Thu, 23 Oct 2003 16:24:41 +0000 Subject: * win/tclWinSock.c (TcpWatchProc): Watch for FD_CLOSE too when asked for writable events by the generic layer. (SocketEventProc): Generate a writable event too when a close is detected. Together the changes fix [Bug 599468]. --- ChangeLog | 9 +++++++++ win/tclWinSock.c | 6 +++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 7d48b12..39a33cb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,14 @@ 2003-10-22 Andreas Kupries + * win/tclWinSock.c (TcpWatchProc): Watch for FD_CLOSE too when + asked for writable events by the generic layer. + (SocketEventProc): Generate a writable event too when a close is + detected. + + Together the changes fix [Bug 599468]. + +2003-10-22 Andreas Kupries + * generic/tclIOUtil.c (FsListMounts, FsAddMountsToGlobResult): New functions. See below for context. (Tcl_FSMatchInDirectory): Modified to call on the new functions diff --git a/win/tclWinSock.c b/win/tclWinSock.c index b92109b..4586698 100644 --- a/win/tclWinSock.c +++ b/win/tclWinSock.c @@ -8,7 +8,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclWinSock.c,v 1.36 2003/01/16 19:02:00 mdejong Exp $ + * RCS: @(#) $Id: tclWinSock.c,v 1.36.2.1 2003/10/23 16:24:42 andreas_kupries Exp $ */ #include "tclWinInt.h" @@ -869,7 +869,7 @@ SocketEventProc(evPtr, flags) Tcl_Time blockTime = { 0, 0 }; Tcl_SetMaxBlockTime(&blockTime); - mask |= TCL_READABLE; + mask |= TCL_READABLE|TCL_WRITABLE; } else if (events & FD_READ) { fd_set readFds; struct timeval timeout; @@ -2254,7 +2254,7 @@ TcpWatchProc(instanceData, mask) infoPtr->watchEvents |= (FD_READ|FD_CLOSE|FD_ACCEPT); } if (mask & TCL_WRITABLE) { - infoPtr->watchEvents |= (FD_WRITE|FD_CONNECT); + infoPtr->watchEvents |= (FD_WRITE|FD_CLOSE|FD_CONNECT); } /* -- cgit v0.12