src/os/unix/ngx_solaris_init.c - nginx source code

Global variables defined

Functions defined

Source code


  1. /*
  2. * Copyright (C) Igor Sysoev
  3. * Copyright (C) Nginx, Inc.
  4. */


  5. #include <ngx_config.h>
  6. #include <ngx_core.h>


  7. char ngx_solaris_sysname[20];
  8. char ngx_solaris_release[10];
  9. char ngx_solaris_version[50];


  10. static ngx_os_io_t ngx_solaris_io = {
  11.     ngx_unix_recv,
  12.     ngx_readv_chain,
  13.     ngx_udp_unix_recv,
  14.     ngx_unix_send,
  15.     ngx_udp_unix_send,
  16.     ngx_udp_unix_sendmsg_chain,
  17. #if (NGX_HAVE_SENDFILE)
  18.     ngx_solaris_sendfilev_chain,
  19.     NGX_IO_SENDFILE
  20. #else
  21.     ngx_writev_chain,
  22.     0
  23. #endif
  24. };


  25. ngx_int_t
  26. ngx_os_specific_init(ngx_log_t *log)
  27. {
  28.     if (sysinfo(SI_SYSNAME, ngx_solaris_sysname, sizeof(ngx_solaris_sysname))
  29.         == -1)
  30.     {
  31.         ngx_log_error(NGX_LOG_ALERT, log, ngx_errno,
  32.                       "sysinfo(SI_SYSNAME) failed");
  33.         return NGX_ERROR;
  34.     }

  35.     if (sysinfo(SI_RELEASE, ngx_solaris_release, sizeof(ngx_solaris_release))
  36.         == -1)
  37.     {
  38.         ngx_log_error(NGX_LOG_ALERT, log, ngx_errno,
  39.                       "sysinfo(SI_RELEASE) failed");
  40.         return NGX_ERROR;
  41.     }

  42.     if (sysinfo(SI_VERSION, ngx_solaris_version, sizeof(ngx_solaris_version))
  43.         == -1)
  44.     {
  45.         ngx_log_error(NGX_LOG_ALERT, log, ngx_errno,
  46.                       "sysinfo(SI_SYSNAME) failed");
  47.         return NGX_ERROR;
  48.     }


  49.     ngx_os_io = ngx_solaris_io;

  50.     return NGX_OK;
  51. }


  52. void
  53. ngx_os_specific_status(ngx_log_t *log)
  54. {

  55.     ngx_log_error(NGX_LOG_NOTICE, log, 0, "OS: %s %s",
  56.                   ngx_solaris_sysname, ngx_solaris_release);

  57.     ngx_log_error(NGX_LOG_NOTICE, log, 0, "version: %s",
  58.                   ngx_solaris_version);
  59. }