diff options
author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2017-04-13 10:00:43 (GMT) |
---|---|---|
committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2017-04-13 10:00:43 (GMT) |
commit | b9e6ad8c30d7f7b336d09a55bfa1fbcf0ad6d034 (patch) | |
tree | 69d60a122f7e49529a41dbbbff1a808319dc1318 /generic/tclPreserve.c | |
parent | e1bed6530aea1d09e8256dd2fa27f5682d04a72e (diff) | |
parent | 9f8e844f9c423ce1ff450461016db86873db4a45 (diff) | |
download | tcl-tkt3328635_posix_monotonic_clock.zip tcl-tkt3328635_posix_monotonic_clock.tar.gz tcl-tkt3328635_posix_monotonic_clock.tar.bz2 |
Merge trunktkt3328635_posix_monotonic_clock
Diffstat (limited to 'generic/tclPreserve.c')
-rw-r--r-- | generic/tclPreserve.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/generic/tclPreserve.c b/generic/tclPreserve.c index cca13e8..5c6097f 100644 --- a/generic/tclPreserve.c +++ b/generic/tclPreserve.c @@ -22,7 +22,7 @@ typedef struct { ClientData clientData; /* Address of preserved block. */ - int refCount; /* Number of Tcl_Preserve calls in effect for + size_t refCount; /* Number of Tcl_Preserve calls in effect for * block. */ int mustFree; /* Non-zero means Tcl_EventuallyFree was * called while a Tcl_Preserve call was in @@ -63,7 +63,7 @@ typedef struct HandleStruct { * ensure that the contents of the handle are * not changed by anyone else. */ #endif - int refCount; /* Number of TclHandlePreserve() calls in + size_t refCount; /* Number of TclHandlePreserve() calls in * effect on this handle. */ } HandleStruct; @@ -155,7 +155,7 @@ Tcl_Preserve( refPtr->clientData = clientData; refPtr->refCount = 1; refPtr->mustFree = 0; - refPtr->freeProc = TCL_STATIC; + refPtr->freeProc = 0; inUse += 1; Tcl_MutexUnlock(&preserveMutex); } @@ -195,7 +195,7 @@ Tcl_Release( continue; } - if (--refPtr->refCount != 0) { + if (refPtr->refCount-- > 1) { Tcl_MutexUnlock(&preserveMutex); return; } @@ -459,7 +459,7 @@ TclHandleRelease( handlePtr, handlePtr->ptr2, handlePtr->ptr); } #endif - if ((--handlePtr->refCount == 0) && (handlePtr->ptr == NULL)) { + if ((handlePtr->refCount-- <= 1) && (handlePtr->ptr == NULL)) { ckfree(handlePtr); } } |