The normal "hypertex" (started by sman) receives SIGTERM when we exit
fricas;

The "hypertex" started by ")hd" (with :input t) receives SIGHUP when
we exit fricas;

The "hypertex" started by ")hd" (with :input nil) receives no signal
when we exit fricas.

I have no further findings so far.

- Qian

On 4/10/24 21:36, Waldek Hebisch wrote:
On Wed, Apr 10, 2024 at 06:00:26PM +0800, Qian Yun wrote:
I was using 1.3.10 release, no problem.  Trunk version has this problem.

Bisect to commit 1936e863, "Rename 'OBEY' to '|run_shell_command|' and
implement with '|run_program|'".

This can be fixed by adding ":input t" to "sb-ext:run-program",
but I can not explain why.

diff --git a/src/lisp/fricas-lisp.lisp b/src/lisp/fricas-lisp.lisp
index 357aa063..5f3d58e2 100644
--- a/src/lisp/fricas-lisp.lisp
+++ b/src/lisp/fricas-lisp.lisp
@@ -918,7 +918,8 @@ with this hack and will try to convince the GCL crowd to
fix this.
    (pop11:sysobey "/usr/bin/env" (cons command arguments))
    #+:sbcl
    (sb-ext:process-exit-code
-    (sb-ext:run-program command arguments :search t :output
*standard-output*))
+    (sb-ext:run-program command arguments :search t :output
*standard-output*
+                        :input t))
    #+:gcl
    (si:system (format nil "~{~a~^ ~}" (cons command arguments)))
  )

So in the trunk HyperDoc has /dev/null as standard input.  In 1.3.10
it had the same standard input as FRICASsys (or sman if started
by sman).  That still does not explain how HyperDoc decides if
it should exit.  And what we should do in 'run_program': most
program will not read standard input, so for them difference
should not matter.  But it is not clear what is better in
borderline cases.


--
You received this message because you are subscribed to the Google Groups "FriCAS - 
computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/fricas-devel/01640ab7-d237-4e3f-93c3-5da4c6f1c76c%40gmail.com.

Reply via email to