Posted to tcl by venks at Wed Feb 11 03:16:06 GMT 2015view raw

  1. --- generic/tclIO.c
  2. +++ generic/tclIO.c
  3. @@ -1913,10 +1913,11 @@
  4. if (chanPtr->typePtr == NULL) {
  5. ckfree(chanPtr);
  6. }
  7. }
  8.  
  9. +<<<<<<< BEGIN MERGE CONFLICT: local copy shown first <<<<<<<<<<<<<<<
  10. static void
  11. ChannelFree(
  12. Channel *chanPtr)
  13. {
  14. if (chanPtr->refCount == 0) {
  15. @@ -1924,10 +1925,25 @@
  16. return;
  17. }
  18. chanPtr->typePtr = NULL;
  19. }
  20.  
  21. +======= COMMON ANCESTOR content follows ============================
  22. +
  23. +======= MERGED IN content follows ==================================
  24. +static void
  25. +ChannelFree(
  26. + Channel *chanPtr)
  27. +{
  28. + if (chanPtr->refCount == 0) {
  29. + ckfree((char *)chanPtr);
  30. + return;
  31. + }
  32. + chanPtr->typePtr = NULL;
  33. +}
  34. +
  35. +>>>>>>> END MERGE CONFLICT >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  36. /*
  37. *----------------------------------------------------------------------
  38. *
  39. * Tcl_UnstackChannel --
  40. *
  41. @@ -2068,12 +2084,34 @@
  42.  
  43. /*
  44. * Close and free the channel driver state.
  45. */
  46.  
  47. +<<<<<<< BEGIN MERGE CONFLICT: local copy shown first <<<<<<<<<<<<<<<
  48. result = ChanClose(chanPtr, interp);
  49. ChannelFree(chanPtr);
  50. +======= COMMON ANCESTOR content follows ============================
  51. + if (chanPtr->typePtr->closeProc != TCL_CLOSE2PROC) {
  52. + result = (chanPtr->typePtr->closeProc)(chanPtr->instanceData,
  53. + interp);
  54. + } else {
  55. + result = (chanPtr->typePtr->close2Proc)(chanPtr->instanceData,
  56. + interp, 0);
  57. + }
  58. +
  59. + chanPtr->typePtr = NULL;
  60. +======= MERGED IN content follows ==================================
  61. + if (chanPtr->typePtr->closeProc != TCL_CLOSE2PROC) {
  62. + result = (chanPtr->typePtr->closeProc)(chanPtr->instanceData,
  63. + interp);
  64. + } else {
  65. + result = (chanPtr->typePtr->close2Proc)(chanPtr->instanceData,
  66. + interp, 0);
  67. + }
  68. +
  69. + ChannelFree(chanPtr);
  70. +>>>>>>> END MERGE CONFLICT >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  71.  
  72. UpdateInterest(statePtr->topChanPtr);
  73.  
  74. if (result != 0) {
  75. Tcl_SetErrno(result);
  76.  
  77.