aboutsummaryrefslogtreecommitdiff
path: root/src/connection/chroot.lisp
diff options
context:
space:
mode:
Diffstat (limited to 'src/connection/chroot.lisp')
-rw-r--r--src/connection/chroot.lisp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/connection/chroot.lisp b/src/connection/chroot.lisp
index ae2b337..7fbe860 100644
--- a/src/connection/chroot.lisp
+++ b/src/connection/chroot.lisp
@@ -56,7 +56,11 @@ should be the mount point, without the chroot's root prefixed.")
(defmethod connection-teardown :before ((connection chroot-connection))
(dolist (mount (chroot-mounts connection))
- (mrun "umount" mount)))
+ ;; There shouldn't be any processes left running in the chroot after we've
+ ;; finished deploying it, but it's quite easy to end up with things like
+ ;; gpg-agent holding on to /dev/null, for example, so for simplicity, do a
+ ;; lazy unmount.
+ (mrun "umount" "-l" mount)))
(defmethod initialize-instance :after ((connection chroot-connection) &key)
(when (string= "Linux" (stripln (run "uname")))