From 35807a4a773f76ca1b79089bff2fbef95ce5fd78 Mon Sep 17 00:00:00 2001 From: dgp Date: Wed, 17 Nov 2004 00:31:34 +0000 Subject: * generic/tclIOUtil.c (TclFSEpochOk): There were two code paths via which the thread copy of filesystemEpoch could be synched with the master copy, but only one kept the filesystem list cache up to date. Fix routes everything through a single code path. [Bug 1035775]. --- ChangeLog | 8 ++++++++ generic/tclIOUtil.c | 10 ++-------- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/ChangeLog b/ChangeLog index 61525d3..3dbf23a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2004-11-16 Don Porter + + * generic/tclIOUtil.c (TclFSEpochOk): There were two code paths + via which the thread copy of filesystemEpoch could be synched with + the master copy, but only one kept the filesystem list cache up + to date. Fix routes everything through a single code path. + [Bug 1035775]. + 2004-11-16 Donal K. Fellows * unix/tcl.m4 (SC_CONFIG_CFLAGS): Stop architecture flags to 'ld' diff --git a/generic/tclIOUtil.c b/generic/tclIOUtil.c index befc9c7..17fd376 100644 --- a/generic/tclIOUtil.c +++ b/generic/tclIOUtil.c @@ -17,7 +17,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclIOUtil.c,v 1.112 2004/10/15 04:01:31 dgp Exp $ + * RCS: @(#) $Id: tclIOUtil.c,v 1.113 2004/11/17 00:31:47 dgp Exp $ */ #include "tclInt.h" @@ -642,13 +642,7 @@ TclFSEpochOk (filesystemEpoch) int filesystemEpoch; { ThreadSpecificData *tsdPtr = TCL_TSD_INIT(&tclFsDataKey); -#ifndef TCL_THREADS - tsdPtr->filesystemEpoch = theFilesystemEpoch; -#else - Tcl_MutexLock(&filesystemMutex); - tsdPtr->filesystemEpoch = theFilesystemEpoch; - Tcl_MutexUnlock(&filesystemMutex); -#endif + (void) FsGetFirstFilesystem(); return (filesystemEpoch == tsdPtr->filesystemEpoch); } -- cgit v0.12