]> git.ipfire.org Git - thirdparty/ccache.git/commitdiff
fix: Disable the inode cache by default 4.7-maint v4.7.5
authorJoel Rosdahl <joel@rosdahl.net>
Mon, 20 Mar 2023 19:42:14 +0000 (20:42 +0100)
committerJoel Rosdahl <joel@rosdahl.net>
Mon, 20 Mar 2023 19:47:12 +0000 (20:47 +0100)
There have reports of ccache processes hanging on futex calls related to
the inode cache. (The inode cache synchronization mechanism has been
reworked not to use pthread mutexes in ccache 4.8, so the inode cache is
enabled by default in 4.8 and newer.)

LICENSE.adoc
doc/MANUAL.adoc
doc/NEWS.adoc
src/Config.hpp
src/core/mainoptions.cpp
test/suites/inode_cache.bash

index b863cecdad227f00bcfd7f3efb02ccf7b1e8a0f1..0f97424bde00fbf9911316172107e8241ef5e86f 100644 (file)
@@ -35,7 +35,7 @@ The copyright for ccache as a whole is as follows:
 
 ----
 Copyright (C) 2002-2007 Andrew Tridgell
-Copyright (C) 2009-2022 Joel Rosdahl and other contributors
+Copyright (C) 2009-2023 Joel Rosdahl and other contributors
 ----
 
 
index 48328fa8e3847cff99931de773ac52fe2a2114c4..86c9b19b3991f4d7e7a39e8182f7461519de0266 100644 (file)
@@ -756,7 +756,7 @@ might be incorrect.
 
     If true, ccache will cache source file hashes based on device, inode and
     timestamps. This reduces the time spent on hashing include files since the
-    result can be resused between compilations. The default is true. The feature
+    result can be resused between compilations. The default is false. The feature
     requires <<config_temporary_dir,*temporary_dir*>> to be located on a local
     filesystem of a supported type.
 +
index 724990408bcd54b0db262226168c9ca004abb3e8..d8146027667e2f84c07215025e38b8d028ecb84c 100644 (file)
@@ -1,5 +1,16 @@
 = Ccache news
 
+== Ccache 4.7.5
+
+Release date: 2023-03-20
+
+=== Bug fixes
+
+- Disabled the inode cache by default again since there have reports of ccache
+  processes hanging on futex calls related to the inode cache. +
+  [small]#_[contributed by Joel Rosdahl]_#
+
+
 == Ccache 4.7.4
 
 Release date: 2022-11-21
index b75ff43c475329fe4232766bf192de642eb644df..cc5d27172bc95129d467baf8305686e2dd321e21 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2019-2022 Joel Rosdahl and other contributors
+// Copyright (C) 2019-2023 Joel Rosdahl and other contributors
 //
 // See doc/AUTHORS.adoc for a complete list of contributors.
 //
@@ -181,7 +181,7 @@ private:
   bool m_hash_dir = true;
   std::string m_ignore_headers_in_manifest;
   std::string m_ignore_options;
-  bool m_inode_cache = true;
+  bool m_inode_cache = false;
   bool m_keep_comments_cpp = false;
   double m_limit_multiple = 0.8;
   std::string m_log_file;
index 2283162fa180072976f977117579f070fc0d4cf7..37cc4b99540585b96231e211b0e20cc3f05e645e 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2021-2022 Joel Rosdahl and other contributors
+// Copyright (C) 2021-2023 Joel Rosdahl and other contributors
 //
 // See doc/AUTHORS.adoc for a complete list of contributors.
 //
@@ -70,7 +70,7 @@ constexpr const char VERSION_TEXT[] =
 Features: {2}
 
 Copyright (C) 2002-2007 Andrew Tridgell
-Copyright (C) 2009-2022 Joel Rosdahl and other contributors
+Copyright (C) 2009-2023 Joel Rosdahl and other contributors
 
 See <https://ccache.dev/credits.html> for a complete list of contributors.
 
index 830ef8c75d0d82969d5c0b0bab03ff12cde74ab2..48d7d7127eac1b627f987fa425300f0056f840a2 100644 (file)
@@ -1,4 +1,6 @@
 SUITE_inode_cache_PROBE() {
+    export CCACHE_INODECACHE=1
+
     if $HOST_OS_WINDOWS; then
         echo "inode cache not available on Windows"
         return
@@ -16,6 +18,7 @@ SUITE_inode_cache_PROBE() {
 }
 
 SUITE_inode_cache_SETUP() {
+    export CCACHE_INODECACHE=1
     export CCACHE_DEBUG=1
     unset CCACHE_NODIRECT
     export CCACHE_TEMPDIR="${CCACHE_DIR}/tmp"  # isolate inode cache file