[Ecls-list] EPIPE and C errors
mm_lists at pulsar-zone.net
Tue Oct 2 21:24:28 UTC 2012
On Mon, 1 Oct 2012 23:23:54 +0200
Juan Jose Garcia-Ripoll <juanjose.garciaripoll at gmail.com> wrote:
> On Fri, Sep 21, 2012 at 12:11 AM, Matthew Mondor
> <mm_lists at pulsar-zone.net>wrote:
> > I noticed that functions such as WRITE-SEQUENCE will signal a condition
> > of type SIMPLE-ERROR if EPIPE is returned when writing. This is
> > admitedly in non-standard territory, as only TYPE-ERROR is specified
> > for WRITE-SEQUENCE.
> I am going to upload some patches that fix this. ECL will signal FILE-ERROR
> and STREAM-ERROR conditions when stream operations fail due to the C
> library. Unfortunately the error hierarchy is already polluted enough and
> rather incestuous and adding more loops with C error conditions, errno and
> strerrno fields looks like an overkill to me. Until somebody cleans this up
> (CDR anyone?) this should do, but please feel free to comment.
Oct 2 17:00:17 ninja crow-httpd: # Error of type SI::SIMPLE-STREAM-ERROR: C operation (fflush) signaled an error. C library explanation: Broken pipe. Stack trace: in G756 in REPLY-FLUSH in HTTP-REDIRECT in HTTP-SERVE in ACCEPT-LOOP-THREAD
I can now indeed see stream errors. Is it expected to be unexported?
The httpd currently matches it fine using (or end-of-file
si::simple-stream-error) and can now report it in a better context with
more information such at the IP address and connection ID, and it's only
reported conditionally, as intended. This condition no longer falls to
the server's top-level as bug, thanks.
i.e. with :log-errors debug-feature:
Oct 2 17:03:44 ninja crow-httpd: d415df03 127.0.0.1 Connection reset by peer
More information about the ecl-devel