CMUCL 19(c): socket-error problem in fd-streams.lisp
Craig Brent Ludington <[email protected]>
| Newsgroups | gmane.lisp.cmucl.general |
|---|---|
| Message-ID | <[email protected]> |
In CMUCL 19c, the lisp::do-input in fd-stream.lisp signals a 'socket-error
which is read as lisp::socket-error. I think that it should have been
ext::socket-error instead (as defined in internet.lisp).
The error happens when (eql errno unix:econnreset).
Here's a transcript including a real IP address that will close the connection
immediately after the accept(2). Please don't hammer that, it doesn't belong to me!
Thanks,
Craig Ludington
$ lisp -noinit -nositeinit
CMU Common Lisp 19c (19C), running on headmistress
With core: /usr/local/lib/cmucl/lib/lisp.core
Dumped on: Thu, 2005-11-17 08:12:58-06:00 on lorien
See <http://www.cons.org/cmucl/> for support information.
Loaded subsystems:
Python 1.1, target Intel x86
CLOS based on Gerd's PCL 2004/04/14 03:32:47
* (read-line (sys:make-fd-stream (ext:connect-to-inet-socket "65.206.113.8" 8080)
:input t
:output t
:element-type 'character
:buffering :full))
Class not yet defined:
LISP::SOCKET-ERROR
[Condition of type SIMPLE-TYPE-ERROR]
Restarts:
0: [ABORT] Return to Top-Level.
Debug (type H for help)
(KERNEL::FIND-CLASS LISP::SOCKET-ERROR T #<unused-arg>)
Source: Error finding source:
Error in function DEBUG::GET-FILE-TOP-LEVEL-FORM: Source file no longer exists:
target:code/class.lisp.
0] ba 10
0: (KERNEL::FIND-CLASS LISP::SOCKET-ERROR T #<unused-arg>)
1: (MAKE-CONDITION LISP::SOCKET-ERROR
:FORMAT-CONTROL "Socket connection reset: ~A"
:FORMAT-ARGUMENTS ...)
2: (ERROR LISP::SOCKET-ERROR
:FORMAT-CONTROL "Socket connection reset: ~A"
:FORMAT-ARGUMENTS ...)
3: (LISP::DO-INPUT #<Stream for descriptor 5>)
4: (LISP::INPUT-CHARACTER #<Stream for descriptor 5> NIL NIL)
5: (READ-LINE #<Stream for descriptor 5> T NIL NIL)
6: (INTERACTIVE-EVAL (READ-LINE (SYSTEM:MAKE-FD-STREAM # :INPUT T :OUTPUT ...)))
7: (LISP::%TOP-LEVEL)
8: ((LABELS LISP::RESTART-LISP
SAVE-LISP))
0] 0
*