~ruther/guix-local

ref: fa894b3f4db835bd0bb52b32c7ec412e72b7e03a guix-local/gnu/packages/patches/ecl-16-ignore-stderr-write-error.patch -rw-r--r-- 646 bytes
fa894b3f — Marius Bakke Merge branch 'master' into staging 3 years ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Patch adapted from Sage.
diff -Naur ecl-16.1.2.orig/src/c/file.d ecl-16.1.2/src/c/file.d
--- ecl-16.1.2.orig/src/c/file.d	2016-05-11 13:10:51.867673867 +1200
+++ ecl-16.1.2/src/c/file.d	2016-05-11 14:44:48.121907307 +1200
@@ -3354,8 +3354,10 @@
   ecl_disable_interrupts();
   do {
     out = fwrite(c, sizeof(char), n, IO_STREAM_FILE(strm));
-  } while (out < n && restartable_io_error(strm, "fwrite"));
-  ecl_enable_interrupts();
+  /* Ignore write errors to stderr to avoid an infinite loop */
+  } while (out < n && (IO_STREAM_FILE(strm) != stderr) && restartable_io_error(strm, "fwrite"));
+
+  ecl_enable_interrupts();
   return out;
 }