Helmut Eller e9626484@stud3.tuwien.ac.at writes:
Luke Gorrie luke@bluetail.com writes:
Questions & flames welcome :-)
I've a question about the 'background' arguments to create-socket-server. The new open-dedicated-output-stream sets :handle-background to t which causes some complications. CLISP has no threads and AFAIK no SERVE-EVENT, so everything that runs in background is quite difficult to implement there. Most other implementations don't have SERVER-EVENT and we would need 2 threads (messy with signal handling) just to setup the connection. Wouldn't it be nicer if we could, at least optionally, do everything without threads? That was possible until now, so it's probably just a matter of reorganizing open-dedicated-output-stream.
Right. How about this: remove the :handle-background argument and allow the :init-fn to return NIL, meaning "I don't expect any input".
Then the dedicated-stream's INIT-FN can return NIL to avoid an endless loop. Sound like it would work?
I hadn't realised how much variation there is across Lisp networking interfaces when I defined that interface.
BTW, do you know a way to run LispWorks Personal Edition without the GUI? It's driving me nuts :-)
-Luke