Tcl Source Code

Check-in [5a869d1e11]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:add finalization code; needed?
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | mig-alloc-reform
Files: files | file ages | folders
SHA1: 5a869d1e110f161491aefe090a8ba16e12b7dacd
User & Date: mig 2011-03-24 22:06:49
Context
2011-03-24
22:48
only do the alloc-space maximization when needed check-in: dbff67cd44 user: mig tags: mig-alloc-reform
22:06
add finalization code; needed? check-in: 5a869d1e11 user: mig tags: mig-alloc-reform
20:23
slightly faster inUse computation check-in: 0148c7fff1 user: mig tags: mig-alloc-reform
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to generic/tclAlloc.c.

1378
1379
1380
1381
1382
1383
1384















1385
1386
1387
1388
1389
1390
1391
 *----------------------------------------------------------------------
 */

	/* ARGSUSED */
void
TclFinalizePreserve(void)
{















}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_Preserve --
 *







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
 *----------------------------------------------------------------------
 */

	/* ARGSUSED */
void
TclFinalizePreserve(void)
{
    PreserveData *thisPtr;
    
    while (pdataPtr) {
	Tcl_MutexLock(&preserveMutex);
	if (!pdataPtr) {
	    Tcl_MutexUnlock(&preserveMutex);
	    break;
	}   
	thisPtr = pdataPtr;
	pdataPtr = pdataPtr->nextPtr;
	Tcl_MutexUnlock(&preserveMutex);
	
	thisPtr->freeProc(thisPtr->ptr);
	TclSmallFree(thisPtr);
    }
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_Preserve --
 *