0.9.1 compilation failure on Nexenta 3.0.1

Igor Sysoev 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.


-- 
Igor Sysoev
http://sysoev.ru/en/



More information about the nginx mailing list