Posted to tcl by ferrieux at Wed Jul 25 20:23:43 GMT 2012view raw
- /* to be used in tclIO.c */
-
- #define BAD_POINTER ((void *)0xDEADBEEF)
-
- void ckfree_burn_chanptr(char *blockPtr) {
- Channel *chanPtr = (Channel *) blockPtr;
-
- chanPtr->state = BAD_POINTER;
- chanPtr->instanceData = BAD_POINTER;
- chanPtr->typePtr = BAD_POINTER;
- chanPtr->downChanPtr = BAD_POINTER;
- chanPtr->upChanPtr = BAD_POINTER;
- chanPtr->inQueueHead = BAD_POINTER;
- chanPtr->inQueueTail = BAD_POINTER;
-
- ckfree(blockPtr);
- }
-
- /* THEN REPLACE ALL INSTANCES OF */
-
- Tcl_EventuallyFree(chanPtr, TCL_DYNAMIC);
-
- /* WITH */
-
- Tcl_EventuallyFree(chanPtr, ckfree_burn_chanptr);