[slime-devel] Lispworks; Windows gotcha
Alain.Picard at memetrics.com
Alain.Picard at memetrics.com
Wed Dec 10 09:33:21 UTC 2003
Currently, we have:
(defun create-swank-server (port &key reuse-address)
"Create a Swank TCP server on `port'.
Return the port number that the socket is actually listening on."
(declare (ignore reuse-address))
(comm:start-up-server-and-mp :announce *terminal-io* :service port
:process-name "Swank Request Processor"
:function 'swank-accept-connection
) ; tsk tsk; terrible style!
port)
>From the fine manual:
Note: start-up-server-and-mp is implemented only on Unix/Linux/Mac OS platforms.
Which means the current CREATE-SWANK-SERVER for lispworks will
fail on Windows. Now, I hate windows as much as the next guy,
but this seems unnecessarily rude; I suggest one of the following things:
* revert to just comm:start-up-server.
This has the advantage that many users either need to start up
MP themselves later on. Once comm:start-up-server-and-mp runs,
you can no longer launch MP yourself from a chosen entry point.
What was the rationale of using x-and-mp?
* #+Unix #-Unix the code to only use x-an-mp on unices
* do your own checks, e.g.
(if MP::*MULTIPROCESSING* ; I coulda sworn this used to be public in 4.2
(comm:start-up-server ...)
(comm:start-up-server-and-mp ...))
I'm not sure which is the best solution because I'm not sure why
it currently uses comm:start-up-server-and-mp.
This may or may not be related to another problem I'm having, which
is all works fine when I manually evaluate
(load "/home/ap/Lisp/slime/swank-loader.lisp")
(swank::create-swank-server 4005)
in a running lispworks and connecting via slime-connect,
but this fails when the above forms are in my .lispworks file
and I try C-u M-x slime [lisp?] my-lispworks-image
The process shows up:
XOS 5 > (mp:ps)
#<MP:PROCESS Name "Swank Request Processor" Priority 3 State "Waiting for connection">
#<MP:PROCESS Name "Top level loop" Priority 0 State "Running">
#<MP:PROCESS Name "The idle process" Priority -8388608 State "Running">
NIL
XOS 6 >
But noone is actually listening on the socket. (as can be verified
with telnet). Clues?
Thanks,
More information about the slime-devel
mailing list