summaryrefslogtreecommitdiffstats
path: root/win/tclWinThrd.c
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2008-12-21 20:13:48 (GMT)
committerdgp <dgp@users.sourceforge.net>2008-12-21 20:13:48 (GMT)
commita93408f444780aece0dbe83843fde536408ce36b (patch)
tree41c8263993bd99ef21cce183ba8bb995befbf5c7 /win/tclWinThrd.c
parent365d4172afaf0e0a1931b7f2b39fcca7b29e6fe6 (diff)
downloadtcl-a93408f444780aece0dbe83843fde536408ce36b.zip
tcl-a93408f444780aece0dbe83843fde536408ce36b.tar.gz
tcl-a93408f444780aece0dbe83843fde536408ce36b.tar.bz2
* changes: Update for 8.5.6 release.
* library/tclIndex: Removed reference to no-longer-extant procedure 'tclLdAout'. * doc/library.n: Corrected mention of 'auto_exec' to 'auto_execok'. [Patch 2114900] thanks to Stu Cassoff <stwo@users.sf.net> Backport of 2008-11-26 commit from Kevin Kenny. * win/tclWinThrd.c (TclpThreadCreate): We need to initialize the thread id variable to 0 as on 64 bit windows this is a pointer sized field while windows only fills it with a 32 bit value. The result is an inability to join the threads as the ids cannot be matched. Backport of 2008-10-13 commit from Pat Thoyts.
Diffstat (limited to 'win/tclWinThrd.c')
-rw-r--r--win/tclWinThrd.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/win/tclWinThrd.c b/win/tclWinThrd.c
index 650e523..22ba966 100644
--- a/win/tclWinThrd.c
+++ b/win/tclWinThrd.c
@@ -9,7 +9,7 @@
* See the file "license.terms" for information on usage and redistribution of
* this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tclWinThrd.c,v 1.43 2007/03/24 09:33:02 vasiljevic Exp $
+ * RCS: @(#) $Id: tclWinThrd.c,v 1.43.4.1 2008/12/21 20:13:49 dgp Exp $
*/
#include "tclWinInt.h"
@@ -154,6 +154,10 @@ TclpThreadCreate(
EnterCriticalSection(&joinLock);
+ *idPtr = 0; /* must initialize as Tcl_Thread is a pointer and
+ * on WIN64 sizeof void* != sizeof unsigned
+ */
+
#if defined(_MSC_VER) || defined(__MSVCRT__) || defined(__BORLANDC__)
tHandle = (HANDLE) _beginthreadex(NULL, (unsigned) stackSize, proc,
clientData, 0, (unsigned *)idPtr);