diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | unix/tclUnixSock.c | 9 |
2 files changed, 14 insertions, 0 deletions
@@ -1,3 +1,8 @@ +2011-08-30 Reinhard Max <max@suse.de> + + * unix/tclUnixSock.c (TcpWatchProc): Put back the check for server + sockets (bug #3394732). + 2011-08-29 Don Porter <dgp@users.sourceforge.net> * generic/tclIORTrans.c: Leak of ReflectedTransformMap. diff --git a/unix/tclUnixSock.c b/unix/tclUnixSock.c index f302b70..35c00c5 100644 --- a/unix/tclUnixSock.c +++ b/unix/tclUnixSock.c @@ -816,6 +816,15 @@ TcpWatchProc( * TCL_EXCEPTION. */ { TcpState *statePtr = (TcpState *) instanceData; + + if (statePtr->acceptProc != NULL) { + /* + * Make sure we don't mess with server sockets since they will never + * be readable or writable at the Tcl level. This keeps Tcl scripts + * from interfering with the -accept behavior (bug #3394732). + */ + return; + } if (statePtr->flags & TCP_ASYNC_CONNECT) { /* Async sockets use a FileHandler internally while connecting, so we |