diff options
author | dkf <donal.k.fellows@manchester.ac.uk> | 2009-03-15 22:34:58 (GMT) |
---|---|---|
committer | dkf <donal.k.fellows@manchester.ac.uk> | 2009-03-15 22:34:58 (GMT) |
commit | a8ac6c3230544ef6ce40e973f040b489706d5ed2 (patch) | |
tree | 76539d6a771d741bdb62f666ec09b879e4467dd5 /generic/tclThread.c | |
parent | f700f9df947178952eab7555ad480c1b37ae6e90 (diff) | |
download | tcl-a8ac6c3230544ef6ce40e973f040b489706d5ed2.zip tcl-a8ac6c3230544ef6ce40e973f040b489706d5ed2.tar.gz tcl-a8ac6c3230544ef6ce40e973f040b489706d5ed2.tar.bz2 |
Fix [Bug 2687952]
Diffstat (limited to 'generic/tclThread.c')
-rw-r--r-- | generic/tclThread.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/generic/tclThread.c b/generic/tclThread.c index a538316..314a4fb 100644 --- a/generic/tclThread.c +++ b/generic/tclThread.c @@ -10,7 +10,7 @@ * See the file "license.terms" for information on usage and redistribution of * this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclThread.c,v 1.23 2009/02/10 23:09:06 nijtmans Exp $ + * RCS: @(#) $Id: tclThread.c,v 1.24 2009/03/15 22:34:59 dkf Exp $ */ #include "tclInt.h" @@ -88,8 +88,11 @@ Tcl_GetThreadData( result = TclThreadStorageKeyGet(keyPtr); if (result == NULL) { - result = ckalloc((size_t)size); - memset(result, 0, (size_t)size); + result = TclpSysAlloc((size_t) size, 0); + if (result == NULL) { + Tcl_Panic("unable to alloc %u bytes", (unsigned) size); + } + memset(result, 0, (size_t) size); TclThreadStorageKeySet(keyPtr, result); } #else /* TCL_THREADS */ @@ -133,7 +136,6 @@ TclThreadDataKeyGet( return *keyPtr; #endif /* TCL_THREADS */ } - /* *---------------------------------------------------------------------- |