summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2015-07-15 18:05:29 +0200
committerLudovic Courtès <ludo@gnu.org>2015-07-15 23:57:01 +0200
commitd2f2c8f126ebc400f016781805c76683cc364c18 (patch)
tree993c1697c0cdd9b54903e635b5560fbc8bc2a12a
parentdf36e62938a7a2250601e7652a968e31f89a13f4 (diff)
downloadguix-d2f2c8f126ebc400f016781805c76683cc364c18.tar.gz
size: Gracefully handle EPIPE.
* guix/scripts/size.scm (guix-size): Wrap body in 'leave-on-EPIPE'.
-rw-r--r--guix/scripts/size.scm21
1 files changed, 11 insertions, 10 deletions
diff --git a/guix/scripts/size.scm b/guix/scripts/size.scm
index 13341fdfe2..1339742946 100644
--- a/guix/scripts/size.scm
+++ b/guix/scripts/size.scm
@@ -280,15 +280,16 @@ Report the size of PACKAGE and its dependencies.\n"))
         (()
          (leave (_ "missing store item argument\n")))
         ((file)
-         (with-store store
-           (run-with-store store
-             (mlet* %store-monad ((item    (ensure-store-item file))
-                                  (profile (store-profile item)))
-               (if map-file
-                   (begin
-                     (profile->page-map profile map-file)
-                     (return #t))
-                   (display-profile* profile)))
-             #:system system)))
+         (leave-on-EPIPE
+          (with-store store
+            (run-with-store store
+              (mlet* %store-monad ((item    (ensure-store-item file))
+                                   (profile (store-profile item)))
+                (if map-file
+                    (begin
+                      (profile->page-map profile map-file)
+                      (return #t))
+                    (display-profile* profile)))
+              #:system system))))
         ((files ...)
          (leave (_ "too many arguments\n")))))))