[Prev][Next][Index][Thread]

Trouble opening streams from CL-HTTP?




Hello all --

Has anyone else had trouble opening streams from MCL 3.0 under CL-HTTP?  I think
this is a MCL problem, but I thought it might have been addressed by the CL-HTTP
since they're hacking MacTCP.lisp anyway.

This code reproduces the problem:

(defun foo ()
  (loop for i from 0
        do (with-open-stream
             (stream (ccl::open-tcp-stream "smi-mac-146.stanford.edu" 80
                                           :commandtimeout 255))
             (ccl::telnet-write-line stream "GET /ping/ HTTP/1.0")
             (print (list i stream)))))

When running this on my mac (which is also running the CL-HTTP server), it takes
about 60 seconds per loop. When running against another HTTP server on campus,
it takes MUCH longer (up to 10 minutes per loop)!

Here's how I've debugged it:

  - Runs quickly on MCL 2.0
  - Runs slowly on MCL 3.0 with MacTCP.lisp
  - Runs slowly on MCL 3.0 / CL-HTTP / xMacTCP

Clearly, this is a Digitool problem, but I thought I'd check the list to see if
anyone had a workaround or had also encountered this problem.

This is a key problem for me: my CL-HTTP server has a CGI method that generates
an HTML response based on a series of calls it makes to a knowledge base running
on the Stanford KSL's Ontolingua server. Any suggestions or tips would be
appreciated.

Ramon