Check-in [b03c6db3d1]
Overview
Comment:Updated to finalize a thread that terminated even if there are no current Tcl interpreters associated with it
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1:b03c6db3d19b2dbe2164abcdeeb4c09f2401614c
User & Date: rkeene on 2016-07-10 19:05:19
Other Links: manifest | tags
Context
2016-07-10
19:05
Fixed typo in debug message check-in: 936a791a4a user: rkeene tags: trunk
19:05
Updated to finalize a thread that terminated even if there are no current Tcl interpreters associated with it check-in: b03c6db3d1 user: rkeene tags: trunk
2015-12-08
14:13
Updated to avoid hammering remote servers if cache cannot be updated for some reason other than downloading failed check-in: df8e635cac user: rkeene tags: trunk
Changes

Modified appfsd.c from [33db21bdfd] to [9b20b616c9].

1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989


1990

1991
1992
1993
1994
1995
1996
1997
 * Terminate a thread
 */
static void appfs_terminate_interp_and_thread(void *_interp) {
	Tcl_Interp *interp;

	APPFS_DEBUG("Called: _interp = %p", _interp);

	if (_interp == NULL) {
		APPFS_DEBUG("Terminating thread with no interpreter");

		return;
	}

	interp = _interp;

	APPFS_DEBUG("Terminating interpreter due to thread termination");

	appfs_call_libtcl(
		Tcl_DeleteInterp(interp);
	)




	appfs_call_libtcl(
		Tcl_FinalizeThread();
	)

	return;
}








|
<
<
<
<
<
|

|

|
|
|
>
>
|
>







1970
1971
1972
1973
1974
1975
1976
1977





1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
 * Terminate a thread
 */
static void appfs_terminate_interp_and_thread(void *_interp) {
	Tcl_Interp *interp;

	APPFS_DEBUG("Called: _interp = %p", _interp);

	if (_interp != NULL) {





		interp = _interp;

		APPFS_DEBUG("Terminating interpreter due to thread termination");

		appfs_call_libtcl(
			Tcl_DeleteInterp(interp);
		)
	} else {
		APPFS_DEBUG("Terminating thread with no interpreter");
	}

	appfs_call_libtcl(
		Tcl_FinalizeThread();
	)

	return;
}