Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
nginx
GitHub Repository: nginx/nginx.org
Path: blob/main/xml/en/docs/events.xml
1 views
1
<!--
2
Copyright (C) Igor Sysoev
3
Copyright (C) Nginx, Inc.
4
-->
5
6
<!DOCTYPE article SYSTEM "../../../dtd/article.dtd">
7
8
<article name="Connection processing methods"
9
link="/en/docs/events.html"
10
lang="en"
11
rev="6">
12
13
<section>
14
15
<para>
16
nginx supports a variety of connection processing methods.
17
The availability of a particular method depends on the platform used.
18
On platforms that support several methods nginx will normally
19
select the most efficient method automatically.
20
However, if needed, a connection processing method can be selected
21
explicitly with the
22
<link doc="ngx_core_module.xml" id="use"/> directive.
23
</para>
24
25
<para>
26
The following connection processing methods are supported:
27
<list type="bullet">
28
29
<listitem id="select">
30
<para>
31
<literal>select</literal>&mdash;standard method.
32
The supporting module is built automatically on platforms that lack
33
more efficient methods.
34
The <literal>--with-select_module</literal> and
35
<literal>--without-select_module</literal> configuration parameters
36
can be used to forcibly enable or disable the build of this module.
37
</para>
38
</listitem>
39
40
<listitem id="poll">
41
<para>
42
<literal>poll</literal>&mdash;standard method.
43
The supporting module is built automatically on platforms that lack
44
more efficient methods.
45
The <literal>--with-poll_module</literal> and
46
<literal>--without-poll_module</literal> configuration parameters
47
can be used to forcibly enable or disable the build of this module.
48
</para>
49
</listitem>
50
51
<listitem id="kqueue">
52
<para>
53
<literal>kqueue</literal>&mdash;efficient method used on
54
FreeBSD 4.1+, OpenBSD 2.9+, NetBSD 2.0, and macOS.
55
</para>
56
</listitem>
57
58
<listitem id="epoll">
59
<para>
60
<literal>epoll</literal>&mdash;efficient method used on
61
Linux 2.6+.
62
<note>
63
The <literal>EPOLLRDHUP</literal> (Linux 2.6.17, glibc 2.8)
64
and <literal>EPOLLEXCLUSIVE</literal> (Linux 4.5, glibc 2.24)
65
flags are supported since 1.11.3.
66
</note>
67
<note>
68
Some older distributions like SuSE 8.2 provide patches
69
that add epoll support to 2.4 kernels.
70
</note>
71
</para>
72
</listitem>
73
74
<listitem id="devpoll">
75
<para>
76
<literal>/dev/poll</literal>&mdash;efficient method used on
77
Solaris 7 11/99+, HP/UX 11.22+ (eventport), IRIX 6.5.15+,
78
and Tru64 UNIX 5.1A+.
79
</para>
80
</listitem>
81
82
<listitem id="eventport">
83
<para>
84
<literal>eventport</literal>&mdash;event ports, method
85
used on Solaris 10+ (due to known issues,
86
it is recommended using the <literal>/dev/poll</literal> method instead).
87
</para>
88
</listitem>
89
90
</list>
91
</para>
92
93
</section>
94
95
</article>
96
97