Then i wrote a simple program and used both Tcl_CreateInterp() and Tcl_DeleteInterp(). When i attached the program execution with truss command on solaris environment i see there were inconsistency in the number of malloc() function calls(during Tcl_createInterp()) and the number of free() and mutex_unlock() function calls (during Tcl_DeleteInterp()).