Posted to tcl by venks at Wed Feb 11 03:16:06 GMT 2015view pretty
--- generic/tclIO.c +++ generic/tclIO.c @@ -1913,10 +1913,11 @@ if (chanPtr->typePtr == NULL) { ckfree(chanPtr); } } +<<<<<<< BEGIN MERGE CONFLICT: local copy shown first <<<<<<<<<<<<<<< static void ChannelFree( Channel *chanPtr) { if (chanPtr->refCount == 0) { @@ -1924,10 +1925,25 @@ return; } chanPtr->typePtr = NULL; } +======= COMMON ANCESTOR content follows ============================ + +======= MERGED IN content follows ================================== +static void +ChannelFree( + Channel *chanPtr) +{ + if (chanPtr->refCount == 0) { + ckfree((char *)chanPtr); + return; + } + chanPtr->typePtr = NULL; +} + +>>>>>>> END MERGE CONFLICT >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> /* *---------------------------------------------------------------------- * * Tcl_UnstackChannel -- * @@ -2068,12 +2084,34 @@ /* * Close and free the channel driver state. */ +<<<<<<< BEGIN MERGE CONFLICT: local copy shown first <<<<<<<<<<<<<<< result = ChanClose(chanPtr, interp); ChannelFree(chanPtr); +======= COMMON ANCESTOR content follows ============================ + if (chanPtr->typePtr->closeProc != TCL_CLOSE2PROC) { + result = (chanPtr->typePtr->closeProc)(chanPtr->instanceData, + interp); + } else { + result = (chanPtr->typePtr->close2Proc)(chanPtr->instanceData, + interp, 0); + } + + chanPtr->typePtr = NULL; +======= MERGED IN content follows ================================== + if (chanPtr->typePtr->closeProc != TCL_CLOSE2PROC) { + result = (chanPtr->typePtr->closeProc)(chanPtr->instanceData, + interp); + } else { + result = (chanPtr->typePtr->close2Proc)(chanPtr->instanceData, + interp, 0); + } + + ChannelFree(chanPtr); +>>>>>>> END MERGE CONFLICT >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> UpdateInterest(statePtr->topChanPtr); if (result != 0) { Tcl_SetErrno(result);