On Thu, Dec 26, 2024 at 06:14:15PM +0800, Qian Yun wrote:
> On 12/25/24 10:07 PM, Waldek Hebisch wrote:
> > 
> > However, it looks to me that you eliminated one (significant) problem,
> > but there is still parallel signalling between processes, which
> > may lead to races.  That is we should change communication protocal
> > between our processes to be essentially message based.
> > 
> 
> What's your opinion on my thread titled "An idea to greatly
> simplify socket communication protocol / sman process tree"?
> (Namely to move the main IO loop from "session" to "FRICASsys",
> thus greatly reduce the number of processes and parallel signalling.)

I am affraid of potential problems:
- FRICASsys is compute-intensive, computations may block
  communication leading to trouble (this is problematic now,
  but having more things in FRICASsys may make problem worse).
- duplicating file decriptors without knowledge of Lisp may
  lead to troubles.  In particular, in the past we had trouble
  which was due to buffering between Lisp I/O and OS I/O.

To explain a bit more: I would prefer a protocol where at start
of message we have size.  Size allows reliably finding boundaries
between messages.  But this looks impossible with current Lisp
I/O.

Let me mention anouther thing.  For some period we had trouble
with Control-C handling in sbcl.  It turned out that sbcl
developers changed internals and decided to use SIGPIPE for
their Control-C handling.  But our C routines intercepted
SIGPIPE, which broke "new" sbcl Control-C handling (I write
"new" in the quotes, as this is old story now).

Note that arguably Unix signals are for applications to use
and I did not find any info about reserving SIGPIPE in sbcl
documentation.  File descriptors for Lisp streams IMO are
part of Lisp implementation, they may break our use at any
time.

-- 
                              Waldek Hebisch

-- 
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 fricas-devel+unsubscr...@googlegroups.com.
To view this discussion visit 
https://groups.google.com/d/msgid/fricas-devel/Z26QNjFuKedd6lmU%40fricas.org.

Reply via email to