apr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nick Kew <n...@webthing.com>
Subject Re: apr_file operations returning system errno as apr_status_t
Date Sun, 04 Feb 2007 22:31:08 GMT
On Sun, 4 Feb 2007 00:07:22 +0100
"Garrett Rooney" <rooneg@electricjellyfish.net> wrote:

> On 2/3/07, Nick Kew <nick@webthing.com> wrote:
> > Someone on IRC #apache just reported a stupid error message:
> >
> >     (20014)Error string not specified yet: Error retrieving pid
> >    file /var/run/apache2.pid
> >
> > I took a look at what could be causing it, and it appears to
> > be down to apr_file_* functions returning an old-fashioned
> > system errno as an apr_status_t value.  I haven't reproduced
> > the user's reported error, but it comes from either
> > apr_file_open or apr_file_read (via apr_file_read_full).
> >
> > Not sure how best to tackle this.  Is there some reasoning
> > behind what errno numbers can be returned here?
> I was under the impression that apr_status_t is a superset of errno,
> so returning the current errno should be perfectly fine...

Nevertheless, the outcome (nonsense in place of an error message)
is disturbing.  That string comes from apr_error_string(), which
should only happen for numbers in the range above APR_OS_START_ERROR
where these strings are defined.

Smells of bug to me, though it could of course be a build bug.

FWIW, this error looks like APR_EGENERAL offset from the wrong base.

Nick Kew

Application Development with Apache - the Apache Modules Book

View raw message