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

Re: Open error



This is a failure to open a tcp-server-stream, it does
not indicate a problem with OPEN itself. I suggest you
test establishing TCP connections between two ACL images
at your site. You may have DNS problems, address resolution
problems that cause TCP to fail. Check acl;server;tcp-stream
there is an example at the end of the file you can try
between two ACL images with CL-HTTP loaded (you may test
it on a single machine first). You may try the example
with different port numbers. Once you can get a TCP-SERVER
established and exchanging data between ACL images via a
TCP-CLIENT stream, then you can expect enable-http-service
to work fine.

Olivier

Jong-won Choi (4052) wrote:
> 
> Hi,
> 
> I successfully compiled/built cl-http after building new ACL image
> with patch files from Franz's ftp site. Thanks Olivier.
> 
> But, now it has another problem. The problem is in following part of
> tcp-interface.lisp for Allegro.
> 
> #+Allegro
> (defun enable-http-stream-server (port)
>   (let (stream)
>     (www-utils::default-domain-name)
>     (clim-sys:without-scheduling
>       (unless (setq stream (getf *acl-tcp-servers* port))
> 
>         ;;**** open in next line cause error ****
> 
>         (setq stream (open "" :class 'ipc::tcp-server-stream :port port))
>         (setf (getf *acl-tcp-servers* port) stream)))))
> 
> So, when I start cl-http, following error occurs:
> 
If the above caused an error, you don't have a TCP SERVER
enabled, all following errors are just noise. A more detailed
description of the error you get above could be useful...
>
> Error: File "/cl-http/" is a DIRECTORY
>        type file and cannot reasonably be opened as a Lisp stream.
>   [condition type: FILE-ERROR]
> 
> I thought the open is redefined as a generic function(?) and tried to
> find and fix the definition from CL-HTTP sources(but, no definition
> was found)
> 
Under ACL, OPEN is a general mechanism to open streams,
it will call make-instance on the CLASS argument specified.
In your case the low level UNIX substrate is probably unable
to establish a TCP (does it fail in "accept"?).
> Thanks
> 
> Jong-won Choi


References: