blob: 8f2e484b2464178818f3d3bd8c351eb795cf3737 [file] [log] [blame]
Igor Sysoev45890ea2003-11-13 16:16:33 +00001
2#include <ngx_config.h>
3#include <ngx_core.h>
4
5
6char ngx_solaris_sysname[20];
7char ngx_solaris_release[10];
8char ngx_solaris_version[50];
9
10
11ngx_os_io_t ngx_os_io = {
12 ngx_unix_recv,
Igor Sysoeva21e30b2004-04-13 05:27:03 +000013 ngx_readv_chain,
Igor Sysoev45890ea2003-11-13 16:16:33 +000014 NULL,
Igor Sysoev764543e2003-11-27 19:01:37 +000015#if (HAVE_SENDFILE)
16 ngx_solaris_sendfilev_chain,
17 NGX_IO_SENDFILE
18#else
Igor Sysoev45890ea2003-11-13 16:16:33 +000019 ngx_writev_chain,
Igor Sysoevc0f8d912003-11-26 15:42:18 +000020 0
Igor Sysoev764543e2003-11-27 19:01:37 +000021#endif
Igor Sysoev45890ea2003-11-13 16:16:33 +000022};
23
24
25int ngx_os_init(ngx_log_t *log)
26{
27 if (sysinfo(SI_SYSNAME, ngx_solaris_sysname, sizeof(ngx_solaris_sysname))
28 == -1)
29 {
30 ngx_log_error(NGX_LOG_ALERT, log, errno, "sysinfo(SI_SYSNAME) failed");
31 return NGX_ERROR;
32 }
33
34 if (sysinfo(SI_RELEASE, ngx_solaris_release, sizeof(ngx_solaris_release))
35 == -1)
36 {
37 ngx_log_error(NGX_LOG_ALERT, log, errno, "sysinfo(SI_RELEASE) failed");
38 return NGX_ERROR;
39 }
40
41 if (sysinfo(SI_VERSION, ngx_solaris_version, sizeof(ngx_solaris_version))
42 == -1)
43 {
44 ngx_log_error(NGX_LOG_ALERT, log, errno, "sysinfo(SI_SYSNAME) failed");
45 return NGX_ERROR;
46 }
47
Igor Sysoevc0f8d912003-11-26 15:42:18 +000048 ngx_log_error(NGX_LOG_INFO, log, 0, "OS: %s %s",
Igor Sysoev45890ea2003-11-13 16:16:33 +000049 ngx_solaris_sysname, ngx_solaris_release);
50
51 ngx_log_error(NGX_LOG_INFO, log, 0, "version: %s",
52 ngx_solaris_version);
53
54
55 return ngx_posix_init(log);
56}