0.9.1 compilation failure on Nexenta 3.0.1
igor at sysoev.ru
Mon Dec 6 18:30:08 MSK 2010
On Mon, Dec 06, 2010 at 06:00:57PM +0300, Maxim Dounin wrote:
> On Mon, Dec 06, 2010 at 05:36:13PM +0300, Igor Sysoev wrote:
> > Yes, I've just checked OpenSolaris, it has no sys_nerr.
> > I will detect maximum errno using EINVAL error from strerror().
> What about just not using strerror() while in signal handler (and
> using normal one in other cases)? I believe we've already seen
> too many problems while trying to build async-signal-safe version
> of strerror().
> Maxim Dounin
> p.s. If for some reason you'll still prefer to continue attempts
> to build async-signal-safe strerror() - please note that POSIX
> doesn't require strerror() to return EINVAL for invalid codes, it
> only says "may".
I believe it will be the last iteration.
Actually the current ngx_strerror_r() in 0.8.x is a set of hacks
and workarounds, collected during nginx development.
For example, Linux GNU strerror_r() is very different than POSIX one.
More information about the nginx