annotate src/os/unix/ngx_linux_config.h @ 391:1d9bef53cd8e

Range filter: late_ranges functionality. Add one more filtering point after postpone filter. This allows to serve range capable replies with subrequests. It's not as efficient as range filtering for static data (i.e. doesn't save us from reading data from disk if some filter needs them in memory), but it may save some network bandwidth for us and for our users.
author Maxim Dounin <mdounin@mdounin.ru>
date Mon, 21 Jul 2008 05:33:01 +0400
parents 820f6378fc00
children 56baf312c1b5
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
1
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
2 /*
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
3 * Copyright (C) Igor Sysoev
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
4 */
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
5
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
6
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
7 #ifndef _NGX_LINUX_CONFIG_H_INCLUDED_
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
8 #define _NGX_LINUX_CONFIG_H_INCLUDED_
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
9
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
10
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 2
diff changeset
11 #ifndef _GNU_SOURCE
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
12 #define _GNU_SOURCE /* pread(), pwrite(), gethostname() */
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 2
diff changeset
13 #endif
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
14
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
15 #define _FILE_OFFSET_BITS 64
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
16
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
17 #include <sys/types.h>
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
18 #include <sys/time.h>
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
19 #include <unistd.h>
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
20 #include <stdarg.h>
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
21 #include <stddef.h> /* offsetof() */
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
22 #include <stdio.h>
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
23 #include <stdlib.h>
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
24 #include <errno.h>
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
25 #include <string.h>
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
26 #include <signal.h>
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
27 #include <pwd.h>
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
28 #include <grp.h>
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
29 #include <dirent.h>
238
a528ae0fe909 nginx 0.4.4
Igor Sysoev <http://sysoev.ru>
parents: 150
diff changeset
30 #include <glob.h>
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
31
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
32 #include <sys/uio.h>
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
33 #include <sys/stat.h>
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
34 #include <fcntl.h>
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
35
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
36 #include <sys/wait.h>
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
37 #include <sys/mman.h>
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
38 #include <sys/resource.h>
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
39 #include <sched.h>
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
40
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
41 #include <sys/socket.h>
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
42 #include <netinet/in.h>
2
cc9f381affaa nginx 0.1.1
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
43 #include <netinet/tcp.h> /* TCP_NODELAY, TCP_CORK */
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
44 #include <arpa/inet.h>
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
45 #include <netdb.h>
28
7ca9bdc82b3f nginx 0.1.14
Igor Sysoev <http://sysoev.ru>
parents: 24
diff changeset
46 #include <sys/un.h>
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
47
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
48 #include <time.h> /* tzset() */
10
46833bd150cb nginx 0.1.5
Igor Sysoev <http://sysoev.ru>
parents: 4
diff changeset
49 #include <malloc.h> /* memalign() */
378
820f6378fc00 nginx 0.7.1
Igor Sysoev <http://sysoev.ru>
parents: 368
diff changeset
50 #include <limits.h> /* IOV_MAX */
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
51 #include <sys/ioctl.h>
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
52 #include <sys/sysctl.h>
52
0d75d65c642f nginx 0.1.26
Igor Sysoev <http://sysoev.ru>
parents: 28
diff changeset
53 #include <crypt.h>
344
eae74a780a84 nginx 0.6.16
Igor Sysoev <http://sysoev.ru>
parents: 326
diff changeset
54 #include <sys/utsname.h> /* uname() */
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
55
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
56
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
57 #include <ngx_auto_config.h>
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
58
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
59
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 2
diff changeset
60 #if (NGX_HAVE_SYS_PRCTL_H)
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
61 #include <sys/prctl.h>
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
62 #endif
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
63
18
6f8b0dc0f8dd nginx 0.1.9
Igor Sysoev <http://sysoev.ru>
parents: 16
diff changeset
64
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 2
diff changeset
65 #if (NGX_HAVE_SENDFILE64)
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
66 #include <sys/sendfile.h>
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
67 #else
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
68 extern ssize_t sendfile(int s, int fd, int32_t *offset, size_t size);
20
636dad238b63 nginx 0.1.10
Igor Sysoev <http://sysoev.ru>
parents: 18
diff changeset
69 #define NGX_SENDFILE_LIMIT 0x80000000
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
70 #endif
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
71
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
72
368
6aeb6e11b9e7 nginx 0.6.28
Igor Sysoev <http://sysoev.ru>
parents: 344
diff changeset
73 #if (NGX_HAVE_POLL || NGX_HAVE_RTSIG)
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
74 #include <poll.h>
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
75 #endif
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
76
16
74b1868dd3cd nginx 0.1.8
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
77
18
6f8b0dc0f8dd nginx 0.1.9
Igor Sysoev <http://sysoev.ru>
parents: 16
diff changeset
78 #if (NGX_HAVE_EPOLL)
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
79 #include <sys/epoll.h>
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
80 #endif
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
81
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
82
326
9fc4ab6673f9 nginx 0.6.7
Igor Sysoev <http://sysoev.ru>
parents: 238
diff changeset
83 #define NGX_LISTEN_BACKLOG 511
9fc4ab6673f9 nginx 0.6.7
Igor Sysoev <http://sysoev.ru>
parents: 238
diff changeset
84
9fc4ab6673f9 nginx 0.6.7
Igor Sysoev <http://sysoev.ru>
parents: 238
diff changeset
85
18
6f8b0dc0f8dd nginx 0.1.9
Igor Sysoev <http://sysoev.ru>
parents: 16
diff changeset
86 #if defined TCP_DEFER_ACCEPT && !defined NGX_HAVE_DEFERRED_ACCEPT
6f8b0dc0f8dd nginx 0.1.9
Igor Sysoev <http://sysoev.ru>
parents: 16
diff changeset
87 #define NGX_HAVE_DEFERRED_ACCEPT 1
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
88 #endif
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
89
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
90
24
420dd3f9e703 nginx 0.1.12
Igor Sysoev <http://sysoev.ru>
parents: 20
diff changeset
91 #ifndef NGX_HAVE_SO_SNDLOWAT
420dd3f9e703 nginx 0.1.12
Igor Sysoev <http://sysoev.ru>
parents: 20
diff changeset
92 /* setsockopt(SO_SNDLOWAT) returns ENOPROTOOPT */
420dd3f9e703 nginx 0.1.12
Igor Sysoev <http://sysoev.ru>
parents: 20
diff changeset
93 #define NGX_HAVE_SO_SNDLOWAT 0
420dd3f9e703 nginx 0.1.12
Igor Sysoev <http://sysoev.ru>
parents: 20
diff changeset
94 #endif
420dd3f9e703 nginx 0.1.12
Igor Sysoev <http://sysoev.ru>
parents: 20
diff changeset
95
420dd3f9e703 nginx 0.1.12
Igor Sysoev <http://sysoev.ru>
parents: 20
diff changeset
96
76
da9a3b14312d nginx 0.1.38
Igor Sysoev <http://sysoev.ru>
parents: 58
diff changeset
97 #ifndef NGX_HAVE_GNU_CRYPT_R
da9a3b14312d nginx 0.1.38
Igor Sysoev <http://sysoev.ru>
parents: 58
diff changeset
98 #define NGX_HAVE_GNU_CRYPT_R 1
da9a3b14312d nginx 0.1.38
Igor Sysoev <http://sysoev.ru>
parents: 58
diff changeset
99 #endif
da9a3b14312d nginx 0.1.38
Igor Sysoev <http://sysoev.ru>
parents: 58
diff changeset
100
da9a3b14312d nginx 0.1.38
Igor Sysoev <http://sysoev.ru>
parents: 58
diff changeset
101
18
6f8b0dc0f8dd nginx 0.1.9
Igor Sysoev <http://sysoev.ru>
parents: 16
diff changeset
102 #ifndef NGX_HAVE_INHERITED_NONBLOCK
6f8b0dc0f8dd nginx 0.1.9
Igor Sysoev <http://sysoev.ru>
parents: 16
diff changeset
103 #define NGX_HAVE_INHERITED_NONBLOCK 0
6f8b0dc0f8dd nginx 0.1.9
Igor Sysoev <http://sysoev.ru>
parents: 16
diff changeset
104 #endif
6f8b0dc0f8dd nginx 0.1.9
Igor Sysoev <http://sysoev.ru>
parents: 16
diff changeset
105
6f8b0dc0f8dd nginx 0.1.9
Igor Sysoev <http://sysoev.ru>
parents: 16
diff changeset
106
88
e916a291e9aa nginx 0.1.44
Igor Sysoev <http://sysoev.ru>
parents: 76
diff changeset
107 #define NGX_HAVE_OS_SPECIFIC_INIT 1
e916a291e9aa nginx 0.1.44
Igor Sysoev <http://sysoev.ru>
parents: 76
diff changeset
108
e916a291e9aa nginx 0.1.44
Igor Sysoev <http://sysoev.ru>
parents: 76
diff changeset
109
150
50bd986c5d63 nginx 0.3.22
Igor Sysoev <http://sysoev.ru>
parents: 112
diff changeset
110 extern char **environ;
50bd986c5d63 nginx 0.3.22
Igor Sysoev <http://sysoev.ru>
parents: 112
diff changeset
111
50bd986c5d63 nginx 0.3.22
Igor Sysoev <http://sysoev.ru>
parents: 112
diff changeset
112
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
113 #endif /* _NGX_LINUX_CONFIG_H_INCLUDED_ */