summaryrefslogtreecommitdiff
path: root/guix/build
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2017-01-01 23:38:07 +0100
committerLudovic Courtès <ludo@gnu.org>2017-01-01 23:38:07 +0100
commita6e0ae4046911023044563bafd0aa8b662bb1de9 (patch)
treec7eed51c86766cb1044722b18f37e17faff2505b /guix/build
parent231eddc88ae1f459024f410c5fee48c0a2003bec (diff)
syscalls: 'terminal-columns' swallows ENOSYS.
* guix/build/syscalls.scm (terminal-columns): Catch ENOSYS.
Diffstat (limited to 'guix/build')
-rw-r--r--guix/build/syscalls.scm6
1 files changed, 4 insertions, 2 deletions
diff --git a/guix/build/syscalls.scm b/guix/build/syscalls.scm
index 9386c0f5d0..2e37846ff0 100644
--- a/guix/build/syscalls.scm
+++ b/guix/build/syscalls.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 David Thompson <davet@gnu.org>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;;
@@ -1474,7 +1474,9 @@ always a positive integer."
;; ENOTTY is what we're after but 2012-and-earlier Linux versions
;; would return EINVAL instead in some cases:
;; <https://bugs.ruby-lang.org/issues/10494>.
- (if (or (= errno ENOTTY) (= errno EINVAL))
+ ;; Furthermore, some FUSE file systems like unionfs return ENOSYS for
+ ;; that ioctl.
+ (if (memv errno (list ENOTTY EINVAL ENOSYS))
(fall-back)
(apply throw args))))))