Mercurial > hg > nginx
diff src/os/unix/ngx_errno.h @ 3472:65481698535c
use sys_errlist[] in signal handler instead
of non Async-Signal-Safe strerror_r()
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Fri, 12 Mar 2010 11:15:26 +0000 |
parents | 7d5501988fe3 |
children | 7160230d9736 |
line wrap: on
line diff
--- a/src/os/unix/ngx_errno.h +++ b/src/os/unix/ngx_errno.h @@ -64,10 +64,22 @@ u_char *ngx_strerror_r(int err, u_char * /* Solaris and Tru64 UNIX have thread-safe strerror() */ -#define ngx_strerror_r(err, errstr, size) \ +#define ngx_strerror_r(err, errstr, size) \ ngx_cpystrn(errstr, (u_char *) strerror(err), size) #endif +#if (NGX_HAVE_SYS_ERRLIST) + +#define ngx_sigsafe_strerror(err) \ + (err > 0 && err < sys_nerr) ? sys_errlist[err] : "Unknown error" + +#else + +#define ngx_sigsafe_strerror(err) "" + +#endif + + #endif /* _NGX_ERRNO_H_INCLUDED_ */