diff options
| author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2013-01-02 14:59:21 (GMT) |
|---|---|---|
| committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2013-01-02 14:59:21 (GMT) |
| commit | e42dd00e9836c6252fccd12da751140385e6bff5 (patch) | |
| tree | 2848781d5991add1cccbc0f72cd9d0b019d11422 /generic/tclThreadTest.c | |
| parent | 3e6987856502d7a1c873cfa9de0abc2b09924476 (diff) | |
| parent | 6797693d1b7937f21a454ba36b083a36891ee718 (diff) | |
| download | tcl-e42dd00e9836c6252fccd12da751140385e6bff5.zip tcl-e42dd00e9836c6252fccd12da751140385e6bff5.tar.gz tcl-e42dd00e9836c6252fccd12da751140385e6bff5.tar.bz2 | |
merge novem
Diffstat (limited to 'generic/tclThreadTest.c')
| -rw-r--r-- | generic/tclThreadTest.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/generic/tclThreadTest.c b/generic/tclThreadTest.c index b1085bb..e718d34 100644 --- a/generic/tclThreadTest.c +++ b/generic/tclThreadTest.c @@ -61,8 +61,8 @@ static ThreadSpecificData *threadList = NULL; * "thread create" Tcl command or the ThreadCreate() C function. */ -typedef struct { - char *script; /* The Tcl command this thread should +typedef struct ThreadCtrl { + const char *script; /* The Tcl command this thread should * execute */ int flags; /* Initial value of the "flags" field in the * ThreadSpecificData structure for the new @@ -122,7 +122,7 @@ TCL_DECLARE_MUTEX(threadMutex) static int ThreadObjCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); -static int ThreadCreate(Tcl_Interp *interp, char *script, +static int ThreadCreate(Tcl_Interp *interp, const char *script, int joinable); static int ThreadList(Tcl_Interp *interp); static int ThreadSend(Tcl_Interp *interp, Tcl_ThreadId id, @@ -229,8 +229,8 @@ ThreadObjCmd( Tcl_WrongNumArgs(interp, 1, objv, "option ?arg ...?"); return TCL_ERROR; } - if (Tcl_GetIndexFromObj(interp, objv[1], threadOptions, "option", 0, - &option) != TCL_OK) { + if (Tcl_GetIndexFromObjStruct(interp, objv[1], threadOptions, + sizeof(char *), "option", 0, &option) != TCL_OK) { return TCL_ERROR; } @@ -276,7 +276,7 @@ ThreadObjCmd( return ThreadCancel(interp, (Tcl_ThreadId) (size_t) id, result, flags); } case THREAD_CREATE: { - char *script; + const char *script; int joinable, len; if (objc == 2) { @@ -496,7 +496,7 @@ ThreadObjCmd( static int ThreadCreate( Tcl_Interp *interp, /* Current interpreter. */ - char *script, /* Script to execute */ + const char *script, /* Script to execute */ int joinable) /* Flag, joinable thread or not */ { ThreadCtrl ctrl; @@ -513,7 +513,6 @@ ThreadCreate( TCL_THREAD_STACK_DEFAULT, joinable) != TCL_OK) { Tcl_MutexUnlock(&threadMutex); Tcl_AppendResult(interp, "can't create a new thread", NULL); - ckfree(ctrl.script); return TCL_ERROR; } |
