aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/patches/guile-linux-syscalls.patch
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2014-11-28 15:08:56 +0100
committerLudovic Courtès <ludo@gnu.org>2014-11-28 15:08:56 +0100
commit7c4885f0d79593cb0f3a7981444f611d7ced54b9 (patch)
tree0b94ac7b1405e162903f2252235b0669dc63e7a1 /gnu/packages/patches/guile-linux-syscalls.patch
parent08b1990a9368a5b33c13f6ec319b899c897822e7 (diff)
downloadguix-7c4885f0d79593cb0f3a7981444f611d7ced54b9.tar
guix-7c4885f0d79593cb0f3a7981444f611d7ced54b9.tar.gz
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.
Diffstat (limited to 'gnu/packages/patches/guile-linux-syscalls.patch')
-rw-r--r--gnu/packages/patches/guile-linux-syscalls.patch9
1 files changed, 2 insertions, 7 deletions
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;
+}