recent change to src/server.lisp broke gcl compiled maxima - FIXED



On 5/12/07, Billinghurst, David (RTATECH)
<David.Billinghurst at riotinto.com> wrote:

> The problem was introduced in a patch on 2007-04-30 to src/server.lisp
> (below).  Following this patch the lisp function (getpid) doesn't return.
> The original code specifically excludes gcl, as the getpid function is
> imported from system: in file maxima-package.lisp.  Unfortunately this
> was overlooked and a conflicting definition was provided.

David, thanks for investigating. After thinking this over, it seems to
me that the GUI should simply close its end of the socket and the
Maxima process should understand socket = closed to mean that
it should terminate. I'm pretty sure that's a typical behavior for
programs which communicate by sockets.

That would allows us to get rid of all the stuff related to getpid in
server.lisp and kill in the Tcl/tk code. I think that would be a big win.

The only problem I see is that we would need to ensure that different
Lisp implementations handle an attempt to read from a closed
socket in the same way (or, more likely, in a way discoverable by
experiment or reading the documentation).

Comments?

FWIW
Robert