> An invalid FD error during a SERVE-EVENT call is signalled in
> HANDLER-DESCRIPTORS-ERROR using a SIMPLE-ERROR, which means the
> handler can't cleanly access the list of problem FDs.
> I'm trying to add a handler binding so that if one of the problem FDs
> is a "server FD", the user is notified, but if it's a "client FD",
> then I just clear up the client resources, log the error, and move on.
> Attached is a patch which defines an error subclass to SERVE-EVENT; it
> has a slot for a list of problem FDs which can be accessed by the user
> to find the culprits before invoking a restart.
Here's a test case which triggers the condition, apologies for not
including it in the previous mail:
(with-open-file (s "/tmp/foobar"
(let ((fd (sb-impl::fd-stream-fd s)))
(declare (ignore fd))
(format t "~&Stream ~S ready, closing it~%" s)