static PRBool  doFreeArenaPool;
static PRBool  doFreeArenaPool = PR_FALSE;
PORT_FreeArena(PLArenaPool *arena, PRBool zero){    PORTArenaPool *pool = (PORTArenaPool *)arena;    PRLock *       lock = (PRLock *)0;    size_t         len  = sizeof *arena;    extern const PRVersionDescription * libVersionPoint(void);    static const PRVersionDescription * pvd;    static PRBool  doFreeArenaPool;    if (ARENAPOOL_MAGIC == pool->magic ) {	len  = sizeof *pool;	lock = pool->lock;	PZ_Lock(lock);    }    if (!pvd) {	/* no need for thread protection here */	pvd = libVersionPoint();	if ((pvd->vMajor > 4) || 	    (pvd->vMajor == 4 && pvd->vMinor > 1) ||	    (pvd->vMajor == 4 && pvd->vMinor == 1 && pvd->vPatch >= 1)) {	    doFreeArenaPool = PR_TRUE;	}    }    if (doFreeArenaPool) {	PL_FreeArenaPool(arena);    } else {	PL_FinishArenaPool(arena);    }    PORT_ZFree(arena, len);    if (lock) {	PZ_Unlock(lock);	PZ_DestroyLock(lock);    }}