rem: Tcl_InitHashTable(&itPtr->dbs, TCL_STRING_KEYS);
context: Ns_TclAllocateInterp(char *server){    Tcl_HashTable *tablePtr;    Tcl_HashEntry *hPtr;    Tcl_Interp *interp;    Init *initPtr;    NsInterp *itPtr;    int new;    if (!initialized) {	Ns_MasterLock();	if (!initialized) {	    Ns_TlsAlloc(&tls, DeleteInterps);	    initialized = 1;	}	Ns_MasterUnlock();    }    tablePtr = Ns_TlsGet(&tls);    if (tablePtr == NULL) {	tablePtr = ns_malloc(sizeof(Tcl_HashTable));	Tcl_InitHashTable(tablePtr, TCL_STRING_KEYS);	Ns_TlsSet(&tls, tablePtr);    }    hPtr = Tcl_CreateHashEntry(tablePtr, server, &new);    interp = Tcl_GetHashValue(hPtr);    if (interp != NULL) {	Tcl_SetHashValue(hPtr, NULL);    } else {	interp = Tcl_CreateInterp();	itPtr = ns_calloc(1, sizeof(NsInterp));	itPtr->interp = interp;	itPtr->servPtr = NsGetServer(server);	itPtr->hPtr = hPtr;	Tcl_InitHashTable(&itPtr->sets, TCL_STRING_KEYS);	Tcl_InitHashTable(&itPtr->dbs, TCL_STRING_KEYS);		Tcl_InitHashTable(&itPtr->chans, TCL_STRING_KEYS);		Tcl_InitHashTable(&itPtr->https, TCL_STRING_KEYS);		Tcl_SetAssocData(interp, "ns:data", FreeData, itPtr);	NsTclAddCmds(itPtr, interp);	initPtr = itPtr->servPtr->tcl.firstInitPtr;	while (initPtr != NULL) {	    if (((*initPtr->proc)(interp, initPtr->arg)) != TCL_OK) {		Ns_TclLogError(interp);	    }	    initPtr = initPtr->nextPtr;	}	if (Tcl_EvalFile(interp, itPtr->servPtr->tcl.initfile) != TCL_OK) {	    Ns_TclLogError(interp);	}    }    return interp;}