From 5cd25aad3cdb6c970a76542e328a3beba8c1f2c9 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 25 Apr 2016 23:22:45 +0200 Subject: syscalls: 'terminal-columns' catches EINVAL on the TIOCGWINSZ ioctl. Reported by Mark H Weaver . * guix/build/syscalls.scm (terminal-columns): Tolerate EINVAL. * tests/syscalls.scm ("terminal-window-size ENOTTY"): Likewise. --- guix/build/syscalls.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'guix/build/syscalls.scm') diff --git a/guix/build/syscalls.scm b/guix/build/syscalls.scm index d168293ee4..6cdf65304d 100644 --- a/guix/build/syscalls.scm +++ b/guix/build/syscalls.scm @@ -1034,7 +1034,10 @@ always a positive integer." (fall-back))) (lambda args (let ((errno (system-error-errno args))) - (if (= errno ENOTTY) + ;; ENOTTY is what we're after but 2012-and-earlier Linux versions + ;; would return EINVAL instead in some cases: + ;; . + (if (or (= errno ENOTTY) (= errno EINVAL)) (fall-back) (apply throw args)))))) -- cgit v1.2.3