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.
