summaryrefslogtreecommitdiff
path: root/guix/scripts/size.scm
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 /guix/scripts/size.scm
parentdf36e62938a7a2250601e7652a968e31f89a13f4 (diff)
downloadguix-patches-d2f2c8f126ebc400f016781805c76683cc364c18.tar
guix-patches-d2f2c8f126ebc400f016781805c76683cc364c18.tar.gz
size: Gracefully handle EPIPE.
* guix/scripts/size.scm (guix-size): Wrap body in 'leave-on-EPIPE'.
Diffstat (limited to 'guix/scripts/size.scm')
-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")))))))