annotate src/os/unix/ngx_darwin_init.c @ 4448:539355d9e675 stable-1.0

Merge of r4404: Fixed sched_setaffinity(2) to correctly pass size. Second argument (cpusetsize) is size in bytes, not in bits. Previously used constant 32 resulted in reading of uninitialized memory and caused EINVAL to be returned on some Linux kernels.
author Maxim Dounin <mdounin@mdounin.ru>
date Sun, 05 Feb 2012 19:25:24 +0000
parents 710e35d17c28
children 4919fb357a5d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
441
da8c5707af39 nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
Igor Sysoev <igor@sysoev.ru>
parents: 437
diff changeset
1
da8c5707af39 nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
Igor Sysoev <igor@sysoev.ru>
parents: 437
diff changeset
2 /*
444
42d11f017717 nginx-0.1.0-2004-09-29-20:00:49 import; remove years from copyright
Igor Sysoev <igor@sysoev.ru>
parents: 441
diff changeset
3 * Copyright (C) Igor Sysoev
441
da8c5707af39 nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
Igor Sysoev <igor@sysoev.ru>
parents: 437
diff changeset
4 */
da8c5707af39 nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
Igor Sysoev <igor@sysoev.ru>
parents: 437
diff changeset
5
86
3973260705cc nginx-0.0.1-2003-05-12-19:52:24 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
6
183
4c698194c56d nginx-0.0.1-2003-11-13-19:16:33 import
Igor Sysoev <igor@sysoev.ru>
parents: 152
diff changeset
7 #include <ngx_config.h>
4c698194c56d nginx-0.0.1-2003-11-13-19:16:33 import
Igor Sysoev <igor@sysoev.ru>
parents: 152
diff changeset
8 #include <ngx_core.h>
86
3973260705cc nginx-0.0.1-2003-05-12-19:52:24 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
9
3973260705cc nginx-0.0.1-2003-05-12-19:52:24 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
10
2128
345a014436d4 *) move Darwin support to separate files
Igor Sysoev <igor@sysoev.ru>
parents: 1771
diff changeset
11 char ngx_darwin_kern_ostype[16];
345a014436d4 *) move Darwin support to separate files
Igor Sysoev <igor@sysoev.ru>
parents: 1771
diff changeset
12 char ngx_darwin_kern_osrelease[128];
345a014436d4 *) move Darwin support to separate files
Igor Sysoev <igor@sysoev.ru>
parents: 1771
diff changeset
13 int ngx_darwin_hw_ncpu;
345a014436d4 *) move Darwin support to separate files
Igor Sysoev <igor@sysoev.ru>
parents: 1771
diff changeset
14 int ngx_darwin_kern_ipc_somaxconn;
345a014436d4 *) move Darwin support to separate files
Igor Sysoev <igor@sysoev.ru>
parents: 1771
diff changeset
15 u_long ngx_darwin_net_inet_tcp_sendspace;
97
70d2345a903f nginx-0.0.1-2003-05-29-17:02:09 import
Igor Sysoev <igor@sysoev.ru>
parents: 94
diff changeset
16
86
3973260705cc nginx-0.0.1-2003-05-12-19:52:24 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
17
2128
345a014436d4 *) move Darwin support to separate files
Igor Sysoev <igor@sysoev.ru>
parents: 1771
diff changeset
18 static ngx_os_io_t ngx_darwin_io = {
91
637625a2acdb nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents: 88
diff changeset
19 ngx_unix_recv,
93
738fe44c70d5 nginx-0.0.1-2003-05-21-17:28:21 import
Igor Sysoev <igor@sysoev.ru>
parents: 91
diff changeset
20 ngx_readv_chain,
1689
0b592a68aade ngx_udp_recv()
Igor Sysoev <igor@sysoev.ru>
parents: 673
diff changeset
21 ngx_udp_unix_recv,
417
0526206251f6 nginx-0.0.10-2004-09-07-19:29:22 import
Igor Sysoev <igor@sysoev.ru>
parents: 391
diff changeset
22 ngx_unix_send,
469
2ff194b74f1e nginx-0.1.9-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 461
diff changeset
23 #if (NGX_HAVE_SENDFILE)
2128
345a014436d4 *) move Darwin support to separate files
Igor Sysoev <igor@sysoev.ru>
parents: 1771
diff changeset
24 ngx_darwin_sendfile_chain,
196
11fbd0fc041d nginx-0.0.1-2003-11-26-18:42:18 import
Igor Sysoev <igor@sysoev.ru>
parents: 195
diff changeset
25 NGX_IO_SENDFILE
144
ef8c87afcfc5 nginx-0.0.1-2003-10-12-20:49:16 import
Igor Sysoev <igor@sysoev.ru>
parents: 143
diff changeset
26 #else
ef8c87afcfc5 nginx-0.0.1-2003-10-12-20:49:16 import
Igor Sysoev <igor@sysoev.ru>
parents: 143
diff changeset
27 ngx_writev_chain,
195
8dee38ea9117 nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents: 183
diff changeset
28 0
144
ef8c87afcfc5 nginx-0.0.1-2003-10-12-20:49:16 import
Igor Sysoev <igor@sysoev.ru>
parents: 143
diff changeset
29 #endif
91
637625a2acdb nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents: 88
diff changeset
30 };
637625a2acdb nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents: 88
diff changeset
31
637625a2acdb nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents: 88
diff changeset
32
97
70d2345a903f nginx-0.0.1-2003-05-29-17:02:09 import
Igor Sysoev <igor@sysoev.ru>
parents: 94
diff changeset
33 typedef struct {
449
3b1e8c9df9ad nginx-0.1.0-2004-10-04-00:02:06 import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
34 char *name;
673
b80f94fa2197 nginx-0.3.58-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 547
diff changeset
35 void *value;
449
3b1e8c9df9ad nginx-0.1.0-2004-10-04-00:02:06 import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
36 size_t size;
3b1e8c9df9ad nginx-0.1.0-2004-10-04-00:02:06 import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
37 ngx_uint_t exists;
97
70d2345a903f nginx-0.0.1-2003-05-29-17:02:09 import
Igor Sysoev <igor@sysoev.ru>
parents: 94
diff changeset
38 } sysctl_t;
70d2345a903f nginx-0.0.1-2003-05-29-17:02:09 import
Igor Sysoev <igor@sysoev.ru>
parents: 94
diff changeset
39
70d2345a903f nginx-0.0.1-2003-05-29-17:02:09 import
Igor Sysoev <igor@sysoev.ru>
parents: 94
diff changeset
40
70d2345a903f nginx-0.0.1-2003-05-29-17:02:09 import
Igor Sysoev <igor@sysoev.ru>
parents: 94
diff changeset
41 sysctl_t sysctls[] = {
449
3b1e8c9df9ad nginx-0.1.0-2004-10-04-00:02:06 import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
42 { "hw.ncpu",
2128
345a014436d4 *) move Darwin support to separate files
Igor Sysoev <igor@sysoev.ru>
parents: 1771
diff changeset
43 &ngx_darwin_hw_ncpu,
345a014436d4 *) move Darwin support to separate files
Igor Sysoev <igor@sysoev.ru>
parents: 1771
diff changeset
44 sizeof(ngx_darwin_hw_ncpu), 0 },
373
018569a8f09c nginx-0.0.7-2004-06-30-19:30:41 import
Igor Sysoev <igor@sysoev.ru>
parents: 361
diff changeset
45
449
3b1e8c9df9ad nginx-0.1.0-2004-10-04-00:02:06 import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
46 { "net.inet.tcp.sendspace",
2128
345a014436d4 *) move Darwin support to separate files
Igor Sysoev <igor@sysoev.ru>
parents: 1771
diff changeset
47 &ngx_darwin_net_inet_tcp_sendspace,
345a014436d4 *) move Darwin support to separate files
Igor Sysoev <igor@sysoev.ru>
parents: 1771
diff changeset
48 sizeof(ngx_darwin_net_inet_tcp_sendspace), 0 },
99
a059e1aa65d4 nginx-0.0.1-2003-06-02-19:24:30 import
Igor Sysoev <igor@sysoev.ru>
parents: 97
diff changeset
49
501
d4ea69372b94 nginx-0.1.25-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 473
diff changeset
50 { "kern.ipc.somaxconn",
2128
345a014436d4 *) move Darwin support to separate files
Igor Sysoev <igor@sysoev.ru>
parents: 1771
diff changeset
51 &ngx_darwin_kern_ipc_somaxconn,
345a014436d4 *) move Darwin support to separate files
Igor Sysoev <igor@sysoev.ru>
parents: 1771
diff changeset
52 sizeof(ngx_darwin_kern_ipc_somaxconn), 0 },
97
70d2345a903f nginx-0.0.1-2003-05-29-17:02:09 import
Igor Sysoev <igor@sysoev.ru>
parents: 94
diff changeset
53
449
3b1e8c9df9ad nginx-0.1.0-2004-10-04-00:02:06 import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
54 { NULL, NULL, 0, 0 }
97
70d2345a903f nginx-0.0.1-2003-05-29-17:02:09 import
Igor Sysoev <igor@sysoev.ru>
parents: 94
diff changeset
55 };
70d2345a903f nginx-0.0.1-2003-05-29-17:02:09 import
Igor Sysoev <igor@sysoev.ru>
parents: 94
diff changeset
56
70d2345a903f nginx-0.0.1-2003-05-29-17:02:09 import
Igor Sysoev <igor@sysoev.ru>
parents: 94
diff changeset
57
539
371c1cee100d nginx-0.1.44-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 531
diff changeset
58 ngx_int_t
371c1cee100d nginx-0.1.44-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 531
diff changeset
59 ngx_os_specific_init(ngx_log_t *log)
86
3973260705cc nginx-0.0.1-2003-05-12-19:52:24 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
60 {
449
3b1e8c9df9ad nginx-0.1.0-2004-10-04-00:02:06 import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
61 size_t size;
3b1e8c9df9ad nginx-0.1.0-2004-10-04-00:02:06 import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
62 ngx_err_t err;
3b1e8c9df9ad nginx-0.1.0-2004-10-04-00:02:06 import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
63 ngx_uint_t i;
86
3973260705cc nginx-0.0.1-2003-05-12-19:52:24 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
64
2128
345a014436d4 *) move Darwin support to separate files
Igor Sysoev <igor@sysoev.ru>
parents: 1771
diff changeset
65 size = sizeof(ngx_darwin_kern_ostype);
2303
22b05d177dc6 the sysctl "kern.ostype" and "kern.osrelease" had appeared in MacOSX 10.5 only
Igor Sysoev <igor@sysoev.ru>
parents: 2128
diff changeset
66 if (sysctlbyname("kern.ostype", ngx_darwin_kern_ostype, &size, NULL, 0)
22b05d177dc6 the sysctl "kern.ostype" and "kern.osrelease" had appeared in MacOSX 10.5 only
Igor Sysoev <igor@sysoev.ru>
parents: 2128
diff changeset
67 == -1)
22b05d177dc6 the sysctl "kern.ostype" and "kern.osrelease" had appeared in MacOSX 10.5 only
Igor Sysoev <igor@sysoev.ru>
parents: 2128
diff changeset
68 {
22b05d177dc6 the sysctl "kern.ostype" and "kern.osrelease" had appeared in MacOSX 10.5 only
Igor Sysoev <igor@sysoev.ru>
parents: 2128
diff changeset
69 err = ngx_errno;
22b05d177dc6 the sysctl "kern.ostype" and "kern.osrelease" had appeared in MacOSX 10.5 only
Igor Sysoev <igor@sysoev.ru>
parents: 2128
diff changeset
70
22b05d177dc6 the sysctl "kern.ostype" and "kern.osrelease" had appeared in MacOSX 10.5 only
Igor Sysoev <igor@sysoev.ru>
parents: 2128
diff changeset
71 if (err != NGX_ENOENT) {
461
a88a3e4e158f nginx-0.1.5-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 452
diff changeset
72
2303
22b05d177dc6 the sysctl "kern.ostype" and "kern.osrelease" had appeared in MacOSX 10.5 only
Igor Sysoev <igor@sysoev.ru>
parents: 2128
diff changeset
73 ngx_log_error(NGX_LOG_ALERT, log, err,
22b05d177dc6 the sysctl "kern.ostype" and "kern.osrelease" had appeared in MacOSX 10.5 only
Igor Sysoev <igor@sysoev.ru>
parents: 2128
diff changeset
74 "sysctlbyname(kern.ostype) failed");
22b05d177dc6 the sysctl "kern.ostype" and "kern.osrelease" had appeared in MacOSX 10.5 only
Igor Sysoev <igor@sysoev.ru>
parents: 2128
diff changeset
75
22b05d177dc6 the sysctl "kern.ostype" and "kern.osrelease" had appeared in MacOSX 10.5 only
Igor Sysoev <igor@sysoev.ru>
parents: 2128
diff changeset
76 if (err != NGX_ENOMEM) {
22b05d177dc6 the sysctl "kern.ostype" and "kern.osrelease" had appeared in MacOSX 10.5 only
Igor Sysoev <igor@sysoev.ru>
parents: 2128
diff changeset
77 return NGX_ERROR;
22b05d177dc6 the sysctl "kern.ostype" and "kern.osrelease" had appeared in MacOSX 10.5 only
Igor Sysoev <igor@sysoev.ru>
parents: 2128
diff changeset
78 }
22b05d177dc6 the sysctl "kern.ostype" and "kern.osrelease" had appeared in MacOSX 10.5 only
Igor Sysoev <igor@sysoev.ru>
parents: 2128
diff changeset
79
22b05d177dc6 the sysctl "kern.ostype" and "kern.osrelease" had appeared in MacOSX 10.5 only
Igor Sysoev <igor@sysoev.ru>
parents: 2128
diff changeset
80 ngx_darwin_kern_ostype[size - 1] = '\0';
461
a88a3e4e158f nginx-0.1.5-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 452
diff changeset
81 }
88
674d333f4296 nginx-0.0.1-2003-05-14-21:13:13 import
Igor Sysoev <igor@sysoev.ru>
parents: 86
diff changeset
82 }
674d333f4296 nginx-0.0.1-2003-05-14-21:13:13 import
Igor Sysoev <igor@sysoev.ru>
parents: 86
diff changeset
83
2128
345a014436d4 *) move Darwin support to separate files
Igor Sysoev <igor@sysoev.ru>
parents: 1771
diff changeset
84 size = sizeof(ngx_darwin_kern_osrelease);
2303
22b05d177dc6 the sysctl "kern.ostype" and "kern.osrelease" had appeared in MacOSX 10.5 only
Igor Sysoev <igor@sysoev.ru>
parents: 2128
diff changeset
85 if (sysctlbyname("kern.osrelease", ngx_darwin_kern_osrelease, &size,
22b05d177dc6 the sysctl "kern.ostype" and "kern.osrelease" had appeared in MacOSX 10.5 only
Igor Sysoev <igor@sysoev.ru>
parents: 2128
diff changeset
86 NULL, 0)
22b05d177dc6 the sysctl "kern.ostype" and "kern.osrelease" had appeared in MacOSX 10.5 only
Igor Sysoev <igor@sysoev.ru>
parents: 2128
diff changeset
87 == -1)
22b05d177dc6 the sysctl "kern.ostype" and "kern.osrelease" had appeared in MacOSX 10.5 only
Igor Sysoev <igor@sysoev.ru>
parents: 2128
diff changeset
88 {
22b05d177dc6 the sysctl "kern.ostype" and "kern.osrelease" had appeared in MacOSX 10.5 only
Igor Sysoev <igor@sysoev.ru>
parents: 2128
diff changeset
89 err = ngx_errno;
22b05d177dc6 the sysctl "kern.ostype" and "kern.osrelease" had appeared in MacOSX 10.5 only
Igor Sysoev <igor@sysoev.ru>
parents: 2128
diff changeset
90
22b05d177dc6 the sysctl "kern.ostype" and "kern.osrelease" had appeared in MacOSX 10.5 only
Igor Sysoev <igor@sysoev.ru>
parents: 2128
diff changeset
91 if (err != NGX_ENOENT) {
461
a88a3e4e158f nginx-0.1.5-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 452
diff changeset
92
2303
22b05d177dc6 the sysctl "kern.ostype" and "kern.osrelease" had appeared in MacOSX 10.5 only
Igor Sysoev <igor@sysoev.ru>
parents: 2128
diff changeset
93 ngx_log_error(NGX_LOG_ALERT, log, err,
22b05d177dc6 the sysctl "kern.ostype" and "kern.osrelease" had appeared in MacOSX 10.5 only
Igor Sysoev <igor@sysoev.ru>
parents: 2128
diff changeset
94 "sysctlbyname(kern.osrelease) failed");
461
a88a3e4e158f nginx-0.1.5-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 452
diff changeset
95
2303
22b05d177dc6 the sysctl "kern.ostype" and "kern.osrelease" had appeared in MacOSX 10.5 only
Igor Sysoev <igor@sysoev.ru>
parents: 2128
diff changeset
96 if (err != NGX_ENOMEM) {
22b05d177dc6 the sysctl "kern.ostype" and "kern.osrelease" had appeared in MacOSX 10.5 only
Igor Sysoev <igor@sysoev.ru>
parents: 2128
diff changeset
97 return NGX_ERROR;
22b05d177dc6 the sysctl "kern.ostype" and "kern.osrelease" had appeared in MacOSX 10.5 only
Igor Sysoev <igor@sysoev.ru>
parents: 2128
diff changeset
98 }
22b05d177dc6 the sysctl "kern.ostype" and "kern.osrelease" had appeared in MacOSX 10.5 only
Igor Sysoev <igor@sysoev.ru>
parents: 2128
diff changeset
99
22b05d177dc6 the sysctl "kern.ostype" and "kern.osrelease" had appeared in MacOSX 10.5 only
Igor Sysoev <igor@sysoev.ru>
parents: 2128
diff changeset
100 ngx_darwin_kern_osrelease[size - 1] = '\0';
22b05d177dc6 the sysctl "kern.ostype" and "kern.osrelease" had appeared in MacOSX 10.5 only
Igor Sysoev <igor@sysoev.ru>
parents: 2128
diff changeset
101 }
99
a059e1aa65d4 nginx-0.0.1-2003-06-02-19:24:30 import
Igor Sysoev <igor@sysoev.ru>
parents: 97
diff changeset
102 }
a059e1aa65d4 nginx-0.0.1-2003-06-02-19:24:30 import
Igor Sysoev <igor@sysoev.ru>
parents: 97
diff changeset
103
97
70d2345a903f nginx-0.0.1-2003-05-29-17:02:09 import
Igor Sysoev <igor@sysoev.ru>
parents: 94
diff changeset
104 for (i = 0; sysctls[i].name; i++) {
70d2345a903f nginx-0.0.1-2003-05-29-17:02:09 import
Igor Sysoev <igor@sysoev.ru>
parents: 94
diff changeset
105 size = sysctls[i].size;
449
3b1e8c9df9ad nginx-0.1.0-2004-10-04-00:02:06 import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
106
97
70d2345a903f nginx-0.0.1-2003-05-29-17:02:09 import
Igor Sysoev <igor@sysoev.ru>
parents: 94
diff changeset
107 if (sysctlbyname(sysctls[i].name, sysctls[i].value, &size, NULL, 0)
673
b80f94fa2197 nginx-0.3.58-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 547
diff changeset
108 == 0)
449
3b1e8c9df9ad nginx-0.1.0-2004-10-04-00:02:06 import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
109 {
3b1e8c9df9ad nginx-0.1.0-2004-10-04-00:02:06 import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
110 sysctls[i].exists = 1;
3b1e8c9df9ad nginx-0.1.0-2004-10-04-00:02:06 import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
111 continue;
3b1e8c9df9ad nginx-0.1.0-2004-10-04-00:02:06 import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
112 }
3b1e8c9df9ad nginx-0.1.0-2004-10-04-00:02:06 import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
113
3b1e8c9df9ad nginx-0.1.0-2004-10-04-00:02:06 import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
114 err = ngx_errno;
373
018569a8f09c nginx-0.0.7-2004-06-30-19:30:41 import
Igor Sysoev <igor@sysoev.ru>
parents: 361
diff changeset
115
449
3b1e8c9df9ad nginx-0.1.0-2004-10-04-00:02:06 import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
116 if (err == NGX_ENOENT) {
3b1e8c9df9ad nginx-0.1.0-2004-10-04-00:02:06 import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
117 continue;
3b1e8c9df9ad nginx-0.1.0-2004-10-04-00:02:06 import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
118 }
88
674d333f4296 nginx-0.0.1-2003-05-14-21:13:13 import
Igor Sysoev <igor@sysoev.ru>
parents: 86
diff changeset
119
449
3b1e8c9df9ad nginx-0.1.0-2004-10-04-00:02:06 import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
120 ngx_log_error(NGX_LOG_ALERT, log, err,
3b1e8c9df9ad nginx-0.1.0-2004-10-04-00:02:06 import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
121 "sysctlbyname(%s) failed", sysctls[i].name);
3b1e8c9df9ad nginx-0.1.0-2004-10-04-00:02:06 import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
122 return NGX_ERROR;
88
674d333f4296 nginx-0.0.1-2003-05-14-21:13:13 import
Igor Sysoev <igor@sysoev.ru>
parents: 86
diff changeset
123 }
674d333f4296 nginx-0.0.1-2003-05-14-21:13:13 import
Igor Sysoev <igor@sysoev.ru>
parents: 86
diff changeset
124
2128
345a014436d4 *) move Darwin support to separate files
Igor Sysoev <igor@sysoev.ru>
parents: 1771
diff changeset
125 ngx_ncpu = ngx_darwin_hw_ncpu;
673
b80f94fa2197 nginx-0.3.58-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 547
diff changeset
126
4353
710e35d17c28 Merge of r4227, r4228:
Maxim Dounin <mdounin@mdounin.ru>
parents: 2303
diff changeset
127 if (ngx_darwin_kern_ipc_somaxconn > 32767) {
501
d4ea69372b94 nginx-0.1.25-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 473
diff changeset
128 ngx_log_error(NGX_LOG_ALERT, log, 0,
4353
710e35d17c28 Merge of r4227, r4228:
Maxim Dounin <mdounin@mdounin.ru>
parents: 2303
diff changeset
129 "sysctl kern.ipc.somaxconn must be less than 32768");
501
d4ea69372b94 nginx-0.1.25-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 473
diff changeset
130 return NGX_ERROR;
d4ea69372b94 nginx-0.1.25-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 473
diff changeset
131 }
452
23fb87bddda1 nginx-0.1.1-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 449
diff changeset
132
473
8e8f3af115b5 nginx-0.1.11-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 469
diff changeset
133 ngx_tcp_nodelay_and_tcp_nopush = 1;
8e8f3af115b5 nginx-0.1.11-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 469
diff changeset
134
2128
345a014436d4 *) move Darwin support to separate files
Igor Sysoev <igor@sysoev.ru>
parents: 1771
diff changeset
135 ngx_os_io = ngx_darwin_io;
473
8e8f3af115b5 nginx-0.1.11-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 469
diff changeset
136
539
371c1cee100d nginx-0.1.44-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 531
diff changeset
137 return NGX_OK;
86
3973260705cc nginx-0.0.1-2003-05-12-19:52:24 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
138 }
449
3b1e8c9df9ad nginx-0.1.0-2004-10-04-00:02:06 import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
139
3b1e8c9df9ad nginx-0.1.0-2004-10-04-00:02:06 import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
140
539
371c1cee100d nginx-0.1.44-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 531
diff changeset
141 void
371c1cee100d nginx-0.1.44-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 531
diff changeset
142 ngx_os_specific_status(ngx_log_t *log)
449
3b1e8c9df9ad nginx-0.1.0-2004-10-04-00:02:06 import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
143 {
673
b80f94fa2197 nginx-0.3.58-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 547
diff changeset
144 u_long value;
449
3b1e8c9df9ad nginx-0.1.0-2004-10-04-00:02:06 import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
145 ngx_uint_t i;
3b1e8c9df9ad nginx-0.1.0-2004-10-04-00:02:06 import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
146
2303
22b05d177dc6 the sysctl "kern.ostype" and "kern.osrelease" had appeared in MacOSX 10.5 only
Igor Sysoev <igor@sysoev.ru>
parents: 2128
diff changeset
147 if (ngx_darwin_kern_ostype[0]) {
22b05d177dc6 the sysctl "kern.ostype" and "kern.osrelease" had appeared in MacOSX 10.5 only
Igor Sysoev <igor@sysoev.ru>
parents: 2128
diff changeset
148 ngx_log_error(NGX_LOG_NOTICE, log, 0, "OS: %s %s",
22b05d177dc6 the sysctl "kern.ostype" and "kern.osrelease" had appeared in MacOSX 10.5 only
Igor Sysoev <igor@sysoev.ru>
parents: 2128
diff changeset
149 ngx_darwin_kern_ostype, ngx_darwin_kern_osrelease);
22b05d177dc6 the sysctl "kern.ostype" and "kern.osrelease" had appeared in MacOSX 10.5 only
Igor Sysoev <igor@sysoev.ru>
parents: 2128
diff changeset
150 }
449
3b1e8c9df9ad nginx-0.1.0-2004-10-04-00:02:06 import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
151
3b1e8c9df9ad nginx-0.1.0-2004-10-04-00:02:06 import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
152 for (i = 0; sysctls[i].name; i++) {
3b1e8c9df9ad nginx-0.1.0-2004-10-04-00:02:06 import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
153 if (sysctls[i].exists) {
673
b80f94fa2197 nginx-0.3.58-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 547
diff changeset
154 if (sysctls[i].size == sizeof(long)) {
b80f94fa2197 nginx-0.3.58-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 547
diff changeset
155 value = *(long *) sysctls[i].value;
b80f94fa2197 nginx-0.3.58-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 547
diff changeset
156
b80f94fa2197 nginx-0.3.58-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 547
diff changeset
157 } else {
b80f94fa2197 nginx-0.3.58-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 547
diff changeset
158 value = *(int *) sysctls[i].value;
b80f94fa2197 nginx-0.3.58-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 547
diff changeset
159 }
b80f94fa2197 nginx-0.3.58-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 547
diff changeset
160
b80f94fa2197 nginx-0.3.58-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 547
diff changeset
161 ngx_log_error(NGX_LOG_NOTICE, log, 0, "%s: %l",
b80f94fa2197 nginx-0.3.58-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 547
diff changeset
162 sysctls[i].name, value);
449
3b1e8c9df9ad nginx-0.1.0-2004-10-04-00:02:06 import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
163 }
3b1e8c9df9ad nginx-0.1.0-2004-10-04-00:02:06 import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
164 }
3b1e8c9df9ad nginx-0.1.0-2004-10-04-00:02:06 import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
165 }