aboutsummaryrefslogtreecommitdiff
path: root/src/libstore/optimise-store.cc
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2012-08-01 18:03:49 -0400
committerEelco Dolstra <eelco.dolstra@logicblox.com>2012-08-01 18:03:49 -0400
commit9c2decaa1935ae4bf99a9b723d4eab188f8f88ef (patch)
tree97cf99d322e6b3495c2629b66fead0813378bd07 /src/libstore/optimise-store.cc
parent5170c5691aac1bd6abc69be65cf880316e11fe24 (diff)
parent234ce610e0671410cb8a9ce4d8725e55472e8d47 (diff)
Merge branch 'master' into no-manifests
Diffstat (limited to 'src/libstore/optimise-store.cc')
-rw-r--r--src/libstore/optimise-store.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/libstore/optimise-store.cc b/src/libstore/optimise-store.cc
index e08ee1784..334f4f355 100644
--- a/src/libstore/optimise-store.cc
+++ b/src/libstore/optimise-store.cc
@@ -1,3 +1,5 @@
+#include "config.h"
+
#include "util.hh"
#include "local-store.hh"
#include "immutable.hh"
@@ -51,6 +53,8 @@ struct MakeImmutable
void LocalStore::optimisePath_(OptimiseStats & stats, const Path & path)
{
+ checkInterrupt();
+
struct stat st;
if (lstat(path.c_str(), &st))
throw SysError(format("getting attributes of path `%1%'") % path);
@@ -65,7 +69,6 @@ void LocalStore::optimisePath_(OptimiseStats & stats, const Path & path)
/* We can hard link regular files and maybe symlinks. */
if (!S_ISREG(st.st_mode)
#if CAN_LINK_SYMLINK
- x
&& !S_ISLNK(st.st_mode)
#endif
) return;