Mercurial > hg > nginx
view src/os/unix/ngx_setproctitle.h @ 4723:68ac485abbba stable-1.2
Merge of r4654, r4672, r4684, r4685, r4692: resolver changes.
*) Resolver: fixed format specification.
Patch by Yichun Zhang (agentzh).
*) Support for IPv6 literals and an optional port in resolver.
*) Fixed crash in ngx_resolver_cleanup_tree().
If sending a DNS request fails with an error (e.g., when mistakenly
trying to send it to a local IP broadcast), such a request is not
deleted if there are clients waiting on it. However, it was still
erroneously removed from the queue. Later ngx_resolver_cleanup_tree()
attempted to remove it from the queue again that resulted in a NULL
pointer dereference.
*) When "resolver" is configured with a domain name, only the first
resolved address was used. Now all addresses will be used.
*) Fixed segfault with poll and resolver used.
Poll event method needs ngx_cycle->files to work, and use of
ngx_exit_cycle without files set caused null pointer dereference in
resolver's cleanup on udp socket close.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Mon, 02 Jul 2012 16:23:14 +0000 |
parents | d620f497c50f |
children | 16013b71feed |
line wrap: on
line source
/* * Copyright (C) Igor Sysoev * Copyright (C) Nginx, Inc. */ #ifndef _NGX_SETPROCTITLE_H_INCLUDED_ #define _NGX_SETPROCTITLE_H_INCLUDED_ #if (NGX_HAVE_SETPROCTITLE) /* FreeBSD, NetBSD, OpenBSD */ #define ngx_init_setproctitle(log) #define ngx_setproctitle(title) setproctitle("%s", title) #else /* !NGX_HAVE_SETPROCTITLE */ #if !defined NGX_SETPROCTITLE_USES_ENV #if (NGX_SOLARIS) #define NGX_SETPROCTITLE_USES_ENV 1 #define NGX_SETPROCTITLE_PAD ' ' ngx_int_t ngx_init_setproctitle(ngx_log_t *log); void ngx_setproctitle(char *title); #elif (NGX_LINUX) || (NGX_DARWIN) #define NGX_SETPROCTITLE_USES_ENV 1 #define NGX_SETPROCTITLE_PAD '\0' ngx_int_t ngx_init_setproctitle(ngx_log_t *log); void ngx_setproctitle(char *title); #else #define ngx_init_setproctitle(log) #define ngx_setproctitle(title) #endif /* OSes */ #endif /* NGX_SETPROCTITLE_USES_ENV */ #endif /* NGX_HAVE_SETPROCTITLE */ #endif /* _NGX_SETPROCTITLE_H_INCLUDED_ */