From 7c4885f0d79593cb0f3a7981444f611d7ced54b9 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 28 Nov 2014 15:08:56 +0100 Subject: linux-modules: Correctly propagate error code from 'init_module'. * gnu/packages/patches/guile-linux-syscalls.patch (scm_load_linux_module): Leave 'errno' unchanged when ERR != 0. * gnu/build/linux-modules.scm (load-linux-module*): Check for the errno value of ARGS to determine whether the module was already loaded. --- gnu/build/linux-modules.scm | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) (limited to 'gnu/build/linux-modules.scm') diff --git a/gnu/build/linux-modules.scm b/gnu/build/linux-modules.scm index 0fa09b2912..a3bc7d6e33 100644 --- a/gnu/build/linux-modules.scm +++ b/gnu/build/linux-modules.scm @@ -160,11 +160,7 @@ module name." (lambda args ;; If this module was already loaded and we're in modprobe style, ignore ;; the error. - - ;; FIXME: Use errno once 'guile-linux-syscalls.patch' provides a useful - ;; errno here. - (unless (and recursive? - (module-loaded? (string-drop-right (basename file) 3))) + (unless (and recursive? (= EEXIST (system-error-errno args))) (apply throw args))))) ;;; linux-modules.scm ends here -- cgit v1.2.3