diff options
author | dgp <dgp@users.sourceforge.net> | 2004-11-17 00:31:34 (GMT) |
---|---|---|
committer | dgp <dgp@users.sourceforge.net> | 2004-11-17 00:31:34 (GMT) |
commit | 35807a4a773f76ca1b79089bff2fbef95ce5fd78 (patch) | |
tree | f463143d78fdebaafad6f6a6a25c17508289095e | |
parent | e1c0cbb19100b18beaed64123bac5df1b1f84711 (diff) | |
download | tcl-35807a4a773f76ca1b79089bff2fbef95ce5fd78.zip tcl-35807a4a773f76ca1b79089bff2fbef95ce5fd78.tar.gz tcl-35807a4a773f76ca1b79089bff2fbef95ce5fd78.tar.bz2 |
* 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].
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | generic/tclIOUtil.c | 10 |
2 files changed, 10 insertions, 8 deletions
@@ -1,3 +1,11 @@ +2004-11-16 Don Porter <dgp@users.sourceforge.net> + + * 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 <donal.k.fellows@man.ac.uk> * 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); } |