123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
|
123
124
125
126
127
128
129
130
131
132
133
134
135
136
|
-
-
-
-
-
-
-
-
-
-
-
-
-
|
* explicitly initialized. This is necessary because the self initializing
* mutexes use Tcl_Alloc...
*/
static Tcl_Mutex *ckallocMutexPtr;
static int ckallocInit = 0;
/*
* Prototypes for procedures defined in this file:
*/
static int CheckmemCmd(void *clientData,
Tcl_Interp *interp, size_t objc,
Tcl_Obj *const objv[]);
static int MemoryCmd(void *clientData,
Tcl_Interp *interp, size_t objc,
Tcl_Obj *const objv[]);
static void ValidateMemory(struct mem_header *memHeaderP,
const char *file, int line, int nukeGuards);
/*
*----------------------------------------------------------------------
*
* TclInitDbCkalloc --
*
* Initialize the locks used by the allocator. This is only appropriate
* to call in a single threaded environment, such as during
|
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
|
963
964
965
966
967
968
969
970
971
972
973
974
975
976
|
-
-
-
-
|
* Returns a standard Tcl completion code.
*
* Side effects:
* None.
*
*----------------------------------------------------------------------
*/
static int CheckmemCmd(void *clientData,
Tcl_Interp *interp, size_t objc,
Tcl_Obj *const objv[]);
static int
CheckmemCmd(
TCL_UNUSED(void *),
Tcl_Interp *interp, /* Interpreter for evaluation. */
size_t objc, /* Number of arguments. */
Tcl_Obj *const objv[]) /* Obj values of arguments. */
{
|