Diff
Not logged in

Differences From Artifact [aeedb71afd]:

To Artifact [b5cff0f7fc]:


1
2
3
4
5
6
7
8
9
10
11
12

13
14
15
16
17
18
19
1
2
3
4
5
6
7
8
9
10
11

12
13
14
15
16
17
18
19











-
+







/*
 * tclUnixThrd.c --
 *
 *	This file implements the UNIX-specific thread support.
 *
 * Copyright (c) 1991-1994 The Regents of the University of California.
 * Copyright (c) 1994-1997 Sun Microsystems, Inc.
 *
 * See the file "license.terms" for information on usage and redistribution of
 * this file, and for a DISCLAIMER OF ALL WARRANTIES.
 *
 * RCS: @(#) $Id: tclUnixThrd.c,v 1.51 2006/12/19 16:25:02 dgp Exp $
 * RCS: @(#) $Id: tclUnixThrd.c,v 1.51.2.1 2007/05/30 03:31:31 dgp Exp $
 */

#include "tclInt.h"

#ifdef TCL_THREADS

#include "pthread.h"
154
155
156
157
158
159
160
161

162
163
164

165
166




167
168
169
170
171
172
173
154
155
156
157
158
159
160

161
162
163
164
165
166

167
168
169
170
171
172
173
174
175
176
177







-
+



+

-
+
+
+
+







 */

int
Tcl_JoinThread(
    Tcl_ThreadId threadId,	/* Id of the thread to wait upon. */
    int *state)			/* Reference to the storage the result of the
				 * thread we wait upon will be written
				 * into. */
				 * into.  May be NULL. */
{
#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;
#endif
}

#ifdef TCL_THREADS