nginx/src/os/unix/ngx_setproctitle.h
Maxim Dounin cb8a0327ab Added ngx_init_setproctitle() return code check.
The ngx_init_setproctitle() function, as used on systems without
setproctitle(3), may fail due to memory allocation errors, and
therefore its return code needs to be checked.

Reported by Markus Linnala.
2014-09-08 21:36:09 +04:00

53 lines
990 B
C

/*
* 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) NGX_OK
#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) NGX_OK
#define ngx_setproctitle(title)
#endif /* OSes */
#endif /* NGX_SETPROCTITLE_USES_ENV */
#endif /* NGX_HAVE_SETPROCTITLE */
#endif /* _NGX_SETPROCTITLE_H_INCLUDED_ */