diff options
author | andreas_kupries <akupries@shaw.ca> | 2003-04-22 23:20:39 (GMT) |
---|---|---|
committer | andreas_kupries <akupries@shaw.ca> | 2003-04-22 23:20:39 (GMT) |
commit | e39ac41979189210210c4ad46c3d86e7e72069fb (patch) | |
tree | da7afb848b9cd285191c219ffb2b279fe3ee2429 /generic | |
parent | b44d851b88a7e6f142dfcb38b06b587780415794 (diff) | |
download | tcl-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.c | 4 | ||||
-rw-r--r-- | generic/tclInt.h | 4 |
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, |