aboutsummaryrefslogtreecommitdiff
path: root/src/libstore/filetransfer.cc
diff options
context:
space:
mode:
authorEelco Dolstra <edolstra@gmail.com>2021-12-17 12:00:09 +0100
committerGitHub <noreply@github.com>2021-12-17 12:00:09 +0100
commit6e6e998930f0d7361d64644eb37d9134e74e8501 (patch)
tree16fe1dfff96b86df62b83e5fd57b9af21865172e /src/libstore/filetransfer.cc
parent23ea1e46cc4831dd13915a2d7acd9f04696b6dcc (diff)
parentec8f24ed3a3115cba85f908515c423112e5b13e0 (diff)
Merge pull request #5787 from edolstra/unshare-fs
Ignore EPERM when unsharing FS state
Diffstat (limited to 'src/libstore/filetransfer.cc')
-rw-r--r--src/libstore/filetransfer.cc8
1 files changed, 1 insertions, 7 deletions
diff --git a/src/libstore/filetransfer.cc b/src/libstore/filetransfer.cc
index 4621a8217..17980ab22 100644
--- a/src/libstore/filetransfer.cc
+++ b/src/libstore/filetransfer.cc
@@ -544,13 +544,7 @@ struct curlFileTransfer : public FileTransfer
stopWorkerThread();
});
-#ifdef __linux__
- /* Cause this thread to not share any FS attributes with the main thread,
- because this causes setns() in restoreMountNamespace() to fail.
- Ideally, this would happen in the std::thread() constructor. */
- if (unshare(CLONE_FS) != 0)
- throw SysError("unsharing filesystem state in download thread");
-#endif
+ unshareFilesystem();
std::map<CURL *, std::shared_ptr<TransferItem>> items;