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/packages/patches/guile-linux-syscalls.patch | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/patches/guile-linux-syscalls.patch b/gnu/packages/patches/guile-linux-syscalls.patch index 1fb24bde27..57c7f2589d 100644 --- a/gnu/packages/patches/guile-linux-syscalls.patch +++ b/gnu/packages/patches/guile-linux-syscalls.patch @@ -7,7 +7,7 @@ diff --git a/libguile/posix.c b/libguile/posix.c index 324f21b..cbee94d 100644 --- a/libguile/posix.c +++ b/libguile/posix.c -@@ -2286,6 +2286,266 @@ scm_init_popen (void) +@@ -2286,6 +2286,261 @@ scm_init_popen (void) } #endif @@ -84,12 +84,7 @@ index 324f21b..cbee94d 100644 + free (c_options); + + if (err != 0) -+ { -+ /* XXX: `insmod' actually provides better translation of some of -+ the error codes. */ -+ errno = err; -+ SCM_SYSERROR; -+ } ++ SCM_SYSERROR; + + return SCM_UNSPECIFIED; +} -- cgit 1.4.1