Mercurial > hg > nginx-quic
view src/os/unix/ngx_solaris_init.c @ 4569:1db899642518
Upstream: reject upstreams without normal servers.
Such upstreams cause CPU hog later in the code as number of peers isn't
expected to be 0. Currently this may happen either if there are only backup
servers defined in an upstream block, or if server with ipv6 address used
in an upstream block.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Mon, 02 Apr 2012 21:29:35 +0000 |
parents | d620f497c50f |
children | 8f038068f4bc |
line wrap: on
line source
/* * Copyright (C) Igor Sysoev * Copyright (C) Nginx, Inc. */ #include <ngx_config.h> #include <ngx_core.h> char ngx_solaris_sysname[20]; char ngx_solaris_release[10]; char ngx_solaris_version[50]; static ngx_os_io_t ngx_solaris_io = { ngx_unix_recv, ngx_readv_chain, ngx_udp_unix_recv, ngx_unix_send, #if (NGX_HAVE_SENDFILE) ngx_solaris_sendfilev_chain, NGX_IO_SENDFILE #else ngx_writev_chain, 0 #endif }; ngx_int_t ngx_os_specific_init(ngx_log_t *log) { if (sysinfo(SI_SYSNAME, ngx_solaris_sysname, sizeof(ngx_solaris_sysname)) == -1) { ngx_log_error(NGX_LOG_ALERT, log, ngx_errno, "sysinfo(SI_SYSNAME) failed"); return NGX_ERROR; } if (sysinfo(SI_RELEASE, ngx_solaris_release, sizeof(ngx_solaris_release)) == -1) { ngx_log_error(NGX_LOG_ALERT, log, ngx_errno, "sysinfo(SI_RELEASE) failed"); return NGX_ERROR; } if (sysinfo(SI_VERSION, ngx_solaris_version, sizeof(ngx_solaris_version)) == -1) { ngx_log_error(NGX_LOG_ALERT, log, ngx_errno, "sysinfo(SI_SYSNAME) failed"); return NGX_ERROR; } ngx_os_io = ngx_solaris_io; return NGX_OK; } void ngx_os_specific_status(ngx_log_t *log) { ngx_log_error(NGX_LOG_NOTICE, log, 0, "OS: %s %s", ngx_solaris_sysname, ngx_solaris_release); ngx_log_error(NGX_LOG_NOTICE, log, 0, "version: %s", ngx_solaris_version); }