summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhobbs <hobbs>2007-05-29 23:35:46 (GMT)
committerhobbs <hobbs>2007-05-29 23:35:46 (GMT)
commitdff8712f9e6e1998564fb828021902a37a3fcf36 (patch)
tree30e691cb9f8de9e93498d216a1c06f976285d5dc
parente68a11165d4c0cf69d5fb06da1b20e95cfbf446c (diff)
downloadtcl-dff8712f9e6e1998564fb828021902a37a3fcf36.zip
tcl-dff8712f9e6e1998564fb828021902a37a3fcf36.tar.gz
tcl-dff8712f9e6e1998564fb828021902a37a3fcf36.tar.bz2
* unix/tclUnixThrd.c (Tcl_JoinThread): fix for 64-bit handling of
pthread_join exit return code storage. [Bug 1712723]
-rw-r--r--ChangeLog5
-rw-r--r--unix/tclUnixThrd.c6
2 files changed, 10 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 080c500..47365c5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2007-05-29 Jeff Hobbs <jeffh@ActiveState.com>
+
+ * unix/tclUnixThrd.c (Tcl_JoinThread): fix for 64-bit handling of
+ pthread_join exit return code storage. [Bug 1712723]
+
2007-05-24 Don Porter <dgp@users.sourceforge.net>
*** 8.4.15 TAGGED FOR RELEASE ***
diff --git a/unix/tclUnixThrd.c b/unix/tclUnixThrd.c
index b95e8f7..b74419b 100644
--- a/unix/tclUnixThrd.c
+++ b/unix/tclUnixThrd.c
@@ -165,8 +165,12 @@ Tcl_JoinThread(threadId, state)
{
#ifdef TCL_THREADS
int result;
+ unsigned long retcode;
- result = pthread_join ((pthread_t) threadId, (VOID**) state);
+ result = pthread_join((pthread_t) threadId, (void**) &retcode);
+ if (state) {
+ *state = (int) retcode;
+ }
return (result == 0) ? TCL_OK : TCL_ERROR;
#else
return TCL_ERROR;