summary refs log tree commit diff
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
parent231eddc88ae1f459024f410c5fee48c0a2003bec (diff)
downloadguix-a6e0ae4046911023044563bafd0aa8b662bb1de9.tar.gz
syscalls: 'terminal-columns' swallows ENOSYS.
* guix/build/syscalls.scm (terminal-columns): Catch ENOSYS.
-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))))))