comparison src/os/unix/ngx_linux_init.c @ 391:b670db10cbbd

nginx-0.0.7-2004-07-14-20:01:42 import
author Igor Sysoev <igor@sysoev.ru>
date Wed, 14 Jul 2004 16:01:42 +0000
parents f5431a4bbc7d
children 0526206251f6
comparison
equal deleted inserted replaced
390:1471c6fb108a 391:b670db10cbbd
3 #include <ngx_core.h> 3 #include <ngx_core.h>
4 4
5 5
6 char ngx_linux_kern_ostype[50]; 6 char ngx_linux_kern_ostype[50];
7 char ngx_linux_kern_osrelease[20]; 7 char ngx_linux_kern_osrelease[20];
8
9 int ngx_linux_rtsig_max;
8 10
9 11
10 ngx_os_io_t ngx_os_io = { 12 ngx_os_io_t ngx_os_io = {
11 ngx_unix_recv, 13 ngx_unix_recv,
12 ngx_readv_chain, 14 ngx_readv_chain,
21 }; 23 };
22 24
23 25
24 int ngx_os_init(ngx_log_t *log) 26 int ngx_os_init(ngx_log_t *log)
25 { 27 {
26 int name[2], len; 28 int name[2], len, rtsig_max;
27 29
28 name[0] = CTL_KERN; 30 name[0] = CTL_KERN;
29 name[1] = KERN_OSTYPE; 31 name[1] = KERN_OSTYPE;
30 len = sizeof(ngx_linux_kern_ostype); 32 len = sizeof(ngx_linux_kern_ostype);
31 if (sysctl(name, sizeof(name), ngx_linux_kern_ostype, &len, NULL, 0) 33 if (sysctl(name, sizeof(name), ngx_linux_kern_ostype, &len, NULL, 0)
32 == -1) { 34 == -1) {
33 ngx_log_error(NGX_LOG_ALERT, log, errno, "sysctl(KERN_OSTYPE) failed"); 35 ngx_log_error(NGX_LOG_ALERT, log, ngx_errno,
36 "sysctl(KERN_OSTYPE) failed");
34 return NGX_ERROR; 37 return NGX_ERROR;
35 } 38 }
36 39
37 name[0] = CTL_KERN; 40 name[0] = CTL_KERN;
38 name[1] = KERN_OSRELEASE; 41 name[1] = KERN_OSRELEASE;
39 len = sizeof(ngx_linux_kern_osrelease); 42 len = sizeof(ngx_linux_kern_osrelease);
40 if (sysctl(name, sizeof(name), ngx_linux_kern_osrelease, &len, NULL, 0) 43 if (sysctl(name, sizeof(name), ngx_linux_kern_osrelease, &len, NULL, 0)
41 == -1) { 44 == -1) {
42 ngx_log_error(NGX_LOG_ALERT, log, errno, 45 ngx_log_error(NGX_LOG_ALERT, log, ngx_errno,
43 "sysctl(KERN_OSRELEASE) failed"); 46 "sysctl(KERN_OSRELEASE) failed");
44 return NGX_ERROR; 47 return NGX_ERROR;
45 } 48 }
46 49
47 ngx_log_error(NGX_LOG_INFO, log, 0, "OS: %s %s", 50 ngx_log_error(NGX_LOG_INFO, log, 0, "OS: %s %s",
48 ngx_linux_kern_ostype, ngx_linux_kern_osrelease); 51 ngx_linux_kern_ostype, ngx_linux_kern_osrelease);
49 52
50 53
54 name[0] = CTL_KERN;
55 name[1] = KERN_RTSIGMAX;
56 len = sizeof(rtsig_max);
57 if (sysctl(name, sizeof(name), &rtsig_max, &len, NULL, 0) == -1) {
58 ngx_log_error(NGX_LOG_INFO, log, ngx_errno,
59 "sysctl(KERN_RTSIGMAX) failed");
60 } else {
61 ngx_linux_rtsig_max = 1;
62 }
63
64
51 return ngx_posix_init(log); 65 return ngx_posix_init(log);
52 } 66 }