diff options
author | Mathieu Othacehe <m.othacehe@gmail.com> | 2020-03-23 18:35:51 +0100 |
---|---|---|
committer | Mathieu Othacehe <m.othacehe@gmail.com> | 2020-03-23 18:46:40 +0100 |
commit | f9b6f75d1c387acbedfb27962d5dbd34bc3c1492 (patch) | |
tree | 3af31ebd3af90f647cf7315b69dedf278f70fb44 /gnu/installer | |
parent | 5490b2c733c96887c7d0dbfd6ce438df170870a1 (diff) | |
download | guix-f9b6f75d1c387acbedfb27962d5dbd34bc3c1492.tar guix-f9b6f75d1c387acbedfb27962d5dbd34bc3c1492.tar.gz |
installer: Fix cow-store umount issue.
* gnu/installer/final.scm (kill-cow-users): Ignore exception that could be
raised if a process disappears between reading its pid and its maps file.
Diffstat (limited to 'gnu/installer')
-rw-r--r-- | gnu/installer/final.scm | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/gnu/installer/final.scm b/gnu/installer/final.scm index 3c170e5d0f..4c2da484c9 100644 --- a/gnu/installer/final.scm +++ b/gnu/installer/final.scm @@ -111,12 +111,13 @@ USERS." (let ((pids (filter-map (lambda (pid) - (call-with-input-file - (string-append "/proc/" pid "/maps") - (lambda (port) - (and (string-contains (get-string-all port) - cow-path) - (string->number pid))))) + (false-if-exception + (call-with-input-file + (string-append "/proc/" pid "/maps") + (lambda (port) + (and (string-contains (get-string-all port) + cow-path) + (string->number pid)))))) (scandir "/proc" string->number)))) (for-each (lambda (pid) ;; cmdline does not always exist. |