
It used to be possible to run multiprocessing servers like a webserver which coexisted with slime. This is no longer possible With current CVS slime, swank's WAIT-FOR-EVENT blocks all other processes from handling FD events There is a simple test case, but here is a more realistic one: I'm attaching a program "t2.lisp" which seeks to illustrates the problem. This is a simple program which listens on a port [8128 by default] and prints a message to clients which connect to it. -- In a bare lisp * (load "t2.lisp") LISTEN-FOR-CONNECTIONS creates a process which listens at port 8128. -- run `telnet localhost 8128' from a shell, a few times. This will result in the bogus service printing a message to the telnet client, as expected. -- load slime in the lisp, and listen at port 4005 * (load "/path/to/swank-loader.lisp") * (swank-loader::init) * (swank::setup-server 4005 #'print nil nil (swank::find-external-format "latin-1-unix")) -- Connect to the lisp from emacs using M-x slime-connect localhost 4005 -- run `telnet localhost 8128' from a shell. This hangs until the slime connection exits. This is a serious problem, and exposes many issues with SLIME's design. -- Madhu