[Added Kevin to recipient list.]
On 9/15/06, Edi Weitz edi@agharta.de wrote:
Looks like the problem with SBCL and KMRCL that was already mentioned on this mailing list. You usually don't see this because of IGNORE-ERRORS. That probably means that with an unpatched KMRCL your sockets are never closed...
Well, that would explain the error I'm seeing every now and then when Apache wants to try now-closed Lisp connections. They're not closed!
I'm not completely convinced that kmrcl is in the wrong. CLOSE-ACTIVE-SOCKET seems to me to want a socket as an argument, not a stream. Though I'm confused if that's the case as to why it also doesn't use, say, the CMUCL operator for closing sockets, not streams. Unless the CMUCL CLOSE operator actually works on a socket as well.
Kevin, can you clarify, is CLOSE-ACTIVE-SOCKET supposed to work as is in 1.87 with a socket or a stream as an argument?
The current condition I'm seeing in TBNL is:
There is no applicable method for the generic function #<STANDARD-GENERIC-FUNCTION SB-BSD-SOCKETS:SOCKET-CLOSE (1)> when called with arguments (#<SB-SYS:FD-STREAM for "a constant string" {A9BD981}>). [Condition of type SIMPLE-ERROR]
and I'm trying to figure out if a) TBNL shouldn't be passing a stream, or b) kmrcl should accept a stream.
Thanks, Erik.