Index: generic/nsfCmdDefinitions.c =================================================================== diff -u -r7243f88cec779c0274f22e569790c7ad1216800f -r843e576364a54a491861bad94df4cbf31f878ab3 --- generic/nsfCmdDefinitions.c (.../nsfCmdDefinitions.c) (revision 7243f88cec779c0274f22e569790c7ad1216800f) +++ generic/nsfCmdDefinitions.c (.../nsfCmdDefinitions.c) (revision 843e576364a54a491861bad94df4cbf31f878ab3) @@ -73,7 +73,35 @@ NsfMutexUnlock(&cmdDefinitonMutex); } +/*---------------------------------------------------------------------- +* Nsf_EnumerationTypeRelease -- +* +* Release and, eventually, delete the hash table for method definitions. +* +* Results: +* None. +* +* Side effects: +* None. +* +*---------------------------------------------------------------------- +*/ +void +Nsf_CmdDefinitionRelease(Tcl_Interp *interp) { + + nonnull_assert(interp != NULL); + + NsfMutexLock(&cmdDefinitonMutex); + + if (cmdDefinitonRefCount-- < 1) { + Tcl_DeleteHashTable(cmdDefinitonHashTablePtr); + } + + NsfMutexUnlock(&cmdDefinitonMutex); +} + + /* *---------------------------------------------------------------------- * Nsf_CmdDefinitionRegister --