summaryrefslogtreecommitdiffstats
path: root/generic
diff options
context:
space:
mode:
authorandreas_kupries <akupries@shaw.ca>2003-04-22 23:20:39 (GMT)
committerandreas_kupries <akupries@shaw.ca>2003-04-22 23:20:39 (GMT)
commite39ac41979189210210c4ad46c3d86e7e72069fb (patch)
treeda7afb848b9cd285191c219ffb2b279fe3ee2429 /generic
parentb44d851b88a7e6f142dfcb38b06b587780415794 (diff)
downloadtcl-e39ac41979189210210c4ad46c3d86e7e72069fb.zip
tcl-e39ac41979189210210c4ad46c3d86e7e72069fb.tar.gz
tcl-e39ac41979189210210c4ad46c3d86e7e72069fb.tar.bz2
* The changes below fix SF bugs [593810], and [718045].
* generic/tclIO.c (Tcl_CutChannel, Tcl_SpliceChannel): Invoke TclpCutSockChannel and TclpSpliceSockChannel. * generic/tclInt.h: Declare TclpCutSockChannel and TclpSpliceSockChannel. * unix/tclUnixSock.c (TclpCutSockChannel, TclpSpliceSockChannel): Dummy functions, on unix the sockets are _not_ handled specially. * mac/tclMacSock.c (TclpCutSockChannel, TclpSpliceSockChannel): * win/tclWinSock.c (TclpCutSockChannel, TclpSpliceSockChannel): New functions to handle socket specific cut/splice operations: auto-initi of socket system for thread on splice, management of the module internal per-thread list of sockets, management of association of sockets with HWNDs for event notification. * win/tclWinSock.c (NewSocketInfo): Extended initialization assignments to cover all items of the structure. During debugging of the new code mentioned above I found that two fileds could contain bogus data. * win/tclWinFile.c: Added #undef HAVE_NO_FINDEX_ENUMS before definition because when compiling in debug mode the compiler complains about a redefinition, and this warning is also treated as an error.
Diffstat (limited to 'generic')
-rw-r--r--generic/tclIO.c4
-rw-r--r--generic/tclInt.h4
2 files changed, 6 insertions, 2 deletions
diff --git a/generic/tclIO.c b/generic/tclIO.c
index e4e8532..adf6e83 100644
--- a/generic/tclIO.c
+++ b/generic/tclIO.c
@@ -10,7 +10,7 @@
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tclIO.c,v 1.67 2003/04/11 17:39:51 andreas_kupries Exp $
+ * RCS: @(#) $Id: tclIO.c,v 1.68 2003/04/22 23:20:41 andreas_kupries Exp $
*/
#include "tclInt.h"
@@ -2411,6 +2411,7 @@ Tcl_CutChannel(chan)
statePtr->nextCSPtr = (ChannelState *) NULL;
TclpCutFileChannel(chan);
+ TclpCutSockChannel(chan);
}
/*
@@ -2464,6 +2465,7 @@ Tcl_SpliceChannel(chan)
statePtr->managingThread = Tcl_GetCurrentThread ();
TclpSpliceFileChannel(chan);
+ TclpSpliceSockChannel(chan);
}
/*
diff --git a/generic/tclInt.h b/generic/tclInt.h
index a4753b9..5df729d 100644
--- a/generic/tclInt.h
+++ b/generic/tclInt.h
@@ -12,7 +12,7 @@
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tclInt.h,v 1.124 2003/04/16 23:33:44 dgp Exp $
+ * RCS: @(#) $Id: tclInt.h,v 1.125 2003/04/22 23:20:43 andreas_kupries Exp $
*/
#ifndef _TCLINT
@@ -1747,7 +1747,9 @@ EXTERN Tcl_Channel TclpOpenFileChannel _ANSI_ARGS_((Tcl_Interp *interp,
Tcl_Obj *pathPtr, int mode,
int permissions));
EXTERN void TclpCutFileChannel _ANSI_ARGS_((Tcl_Channel chan));
+EXTERN void TclpCutSockChannel _ANSI_ARGS_((Tcl_Channel chan));
EXTERN void TclpSpliceFileChannel _ANSI_ARGS_((Tcl_Channel chan));
+EXTERN void TclpSpliceSockChannel _ANSI_ARGS_((Tcl_Channel chan));
EXTERN void TclpPanic _ANSI_ARGS_(TCL_VARARGS(CONST char *,
format));
EXTERN char * TclpReadlink _ANSI_ARGS_((CONST char *fileName,