On 5/13/26 9:58 AM, Waldek Hebisch wrote:
>
> That is another thing. I mean that our C code uses pipes. Also
> when we run programs communitation is via pipes. This may be
> not a problem now as IIRC FRICASsys is using mainly sockets,
> but we should think about this.
>
When we use fricas interactively via sman, FRICASsys is managed
by PTY. When we use fricas non-interactively via pipe,
there was no problem, the following patch will fix this one.
- Qian
diff --git a/src/interp/util.lisp b/src/interp/util.lisp
index bb2ae3d6..4f9de407 100644
--- a/src/interp/util.lisp
+++ b/src/interp/util.lisp
@@ -147,6 +147,12 @@
#+:GCL (setq compiler::*suppress-compiler-notes* t)
#+:GCL (si::break-on-floating-point-exceptions :floating-point-overflow t
:division-by-zero t)
+
+ #+(and :sbcl :unix)
+ (if (and (ignore-errors (sb-ext:assert-version->= 2 0 9) t)
+ (eq :fifo (sb-unix:fd-type 1)))
+ (sb-sys:enable-interrupt sb-unix:sigpipe :default))
+
(in-package "BOOT")
(|initroot|)
#+:poplog (setf POPLOG:*READ-PROMPT* "") ;; Turn off Poplog read prompts