unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
blob 42d213c0e93ec6db2c3ce337b9221518a7d65ae9 646 bytes (raw)
name: gnu/packages/patches/ecl-16-ignore-stderr-write-error.patch 	 # note: path name is non-authoritative(*)

 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;
 }
 

debug log:

solving 42d213c0e9 ...
found 42d213c0e9 in https://git.savannah.gnu.org/cgit/guix.git

(*) Git path names are given by the tree(s) the blob belongs to.
    Blobs themselves have no identifier aside from the hash of its contents.^

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).