Hi, I found a strange behavior with open-tcp-server on MacOSX of GambitC4b20 and GambitC4b22. I was able to isolate the problem up to this point... Eval the following code (define (rpc-server-start) (let ((rpc-command-queue (open-tcp-server 5000))) (thread-start! (make-thread (lambda () (let loop () (let ((incoming-connection (read rpc-command-queue))) (debug "Got connection\n") (serve-rpc-command incoming-connection) ) (loop))))) rpc-command-queue)) (define (serve-rpc-command incoming-connection) (let* ((command (read-line incoming-connection))) (display (string-append command "\n") incoming-connection) (display "ok!\n\n" incoming-connection) (force-output incoming-connection) (close-port incoming-connection))) (define (main) (rpc-server-start) (loop-indefinitely) ) (define (loop-indefinitely) (thread-sleep! 1) (loop-indefinitely)) (main) Then in a Terminal type telnet 127.0.0.1 5000 type something and then return. You should see: Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. sdj sdj ok! Now comment out the call to "loop-indefinitely" in the (main) function. If you try the telnet again it will not work... This is not the case in the MingW (WinXP) versions. It seems I cannot start a tcp-server in a thread and still get the read-eval-print loop. Anybody can help? Thank you, Francois Magnan