… | |
… | |
131 | .\} |
131 | .\} |
132 | .rm #[ #] #H #V #F C |
132 | .rm #[ #] #H #V #F C |
133 | .\" ======================================================================== |
133 | .\" ======================================================================== |
134 | .\" |
134 | .\" |
135 | .IX Title "LIBEV 3" |
135 | .IX Title "LIBEV 3" |
136 | .TH LIBEV 3 "2019-12-21" "libev-4.31" "libev - high performance full featured event loop" |
136 | .TH LIBEV 3 "2020-01-22" "libev-4.31" "libev - high performance full featured event loop" |
137 | .\" For nroff, turn off justification. Always turn off hyphenation; it makes |
137 | .\" For nroff, turn off justification. Always turn off hyphenation; it makes |
138 | .\" way too many mistakes in technical documents. |
138 | .\" way too many mistakes in technical documents. |
139 | .if n .ad l |
139 | .if n .ad l |
140 | .nh |
140 | .nh |
141 | .SH "NAME" |
141 | .SH "NAME" |
… | |
… | |
1767 | .IX Header "WATCHER TYPES" |
1767 | .IX Header "WATCHER TYPES" |
1768 | This section describes each watcher in detail, but will not repeat |
1768 | This section describes each watcher in detail, but will not repeat |
1769 | information given in the last section. Any initialisation/set macros, |
1769 | information given in the last section. Any initialisation/set macros, |
1770 | functions and members specific to the watcher type are explained. |
1770 | functions and members specific to the watcher type are explained. |
1771 | .PP |
1771 | .PP |
1772 | Members are additionally marked with either \fI[read\-only]\fR, meaning that, |
1772 | Most members are additionally marked with either \fI[read\-only]\fR, meaning |
1773 | while the watcher is active, you can look at the member and expect some |
1773 | that, while the watcher is active, you can look at the member and expect |
1774 | sensible content, but you must not modify it (you can modify it while the |
1774 | some sensible content, but you must not modify it (you can modify it while |
1775 | watcher is stopped to your hearts content), or \fI[read\-write]\fR, which |
1775 | the watcher is stopped to your hearts content), or \fI[read\-write]\fR, which |
1776 | means you can expect it to have some sensible content while the watcher |
1776 | means you can expect it to have some sensible content while the watcher |
1777 | is active, but you can also modify it. Modifying it may not do something |
1777 | is active, but you can also modify it. Modifying it may not do something |
1778 | sensible or take immediate effect (or do anything at all), but libev will |
1778 | sensible or take immediate effect (or do anything at all), but libev will |
1779 | not crash or malfunction in any way. |
1779 | not crash or malfunction in any way. |
|
|
1780 | .PP |
|
|
1781 | In any case, the documentation for each member will explain what the |
|
|
1782 | effects are, and if there are any additional access restrictions. |
1780 | .ie n .SS """ev_io"" \- is this file descriptor readable or writable?" |
1783 | .ie n .SS """ev_io"" \- is this file descriptor readable or writable?" |
1781 | .el .SS "\f(CWev_io\fP \- is this file descriptor readable or writable?" |
1784 | .el .SS "\f(CWev_io\fP \- is this file descriptor readable or writable?" |
1782 | .IX Subsection "ev_io - is this file descriptor readable or writable?" |
1785 | .IX Subsection "ev_io - is this file descriptor readable or writable?" |
1783 | I/O watchers check whether a file descriptor is readable or writable |
1786 | I/O watchers check whether a file descriptor is readable or writable |
1784 | in each iteration of the event loop, or, more precisely, when reading |
1787 | in each iteration of the event loop, or, more precisely, when reading |
… | |
… | |
1952 | .IX Item "ev_io_set (ev_io *, int fd, int events)" |
1955 | .IX Item "ev_io_set (ev_io *, int fd, int events)" |
1953 | .PD |
1956 | .PD |
1954 | Configures an \f(CW\*(C`ev_io\*(C'\fR watcher. The \f(CW\*(C`fd\*(C'\fR is the file descriptor to |
1957 | Configures an \f(CW\*(C`ev_io\*(C'\fR watcher. The \f(CW\*(C`fd\*(C'\fR is the file descriptor to |
1955 | receive events for and \f(CW\*(C`events\*(C'\fR is either \f(CW\*(C`EV_READ\*(C'\fR, \f(CW\*(C`EV_WRITE\*(C'\fR or |
1958 | receive events for and \f(CW\*(C`events\*(C'\fR is either \f(CW\*(C`EV_READ\*(C'\fR, \f(CW\*(C`EV_WRITE\*(C'\fR or |
1956 | \&\f(CW\*(C`EV_READ | EV_WRITE\*(C'\fR, to express the desire to receive the given events. |
1959 | \&\f(CW\*(C`EV_READ | EV_WRITE\*(C'\fR, to express the desire to receive the given events. |
|
|
1960 | .IP "ev_io_modify (ev_io *, int events)" 4 |
|
|
1961 | .IX Item "ev_io_modify (ev_io *, int events)" |
|
|
1962 | Similar to \f(CW\*(C`ev_io_set\*(C'\fR, but only changes the event mask. Using this might |
|
|
1963 | be faster with some backends, as libev can assume that the \f(CW\*(C`fd\*(C'\fR still |
|
|
1964 | refers to the same underlying file description, something it cannot do |
|
|
1965 | when using \f(CW\*(C`ev_io_set\*(C'\fR. |
1957 | .IP "int fd [read\-only]" 4 |
1966 | .IP "int fd [no\-modify]" 4 |
1958 | .IX Item "int fd [read-only]" |
1967 | .IX Item "int fd [no-modify]" |
1959 | The file descriptor being watched. |
1968 | The file descriptor being watched. While it can be read at any time, you |
|
|
1969 | must not modify this member even when the watcher is stopped \- always use |
|
|
1970 | \&\f(CW\*(C`ev_io_set\*(C'\fR for that. |
1960 | .IP "int events [read\-only]" 4 |
1971 | .IP "int events [no\-modify]" 4 |
1961 | .IX Item "int events [read-only]" |
1972 | .IX Item "int events [no-modify]" |
1962 | The events being watched. |
1973 | The set of events being watched, among other flags. This field is a |
|
|
1974 | bit set \- to test for \f(CW\*(C`EV_READ\*(C'\fR, use \f(CW\*(C`w\->events & EV_READ\*(C'\fR, and |
|
|
1975 | similarly for \f(CW\*(C`EV_WRITE\*(C'\fR. |
|
|
1976 | .Sp |
|
|
1977 | As with \f(CW\*(C`fd\*(C'\fR, you must not modify this member even when the watcher is |
|
|
1978 | stopped, always use \f(CW\*(C`ev_io_set\*(C'\fR or \f(CW\*(C`ev_io_modify\*(C'\fR for that. |
1963 | .PP |
1979 | .PP |
1964 | \fIExamples\fR |
1980 | \fIExamples\fR |
1965 | .IX Subsection "Examples" |
1981 | .IX Subsection "Examples" |
1966 | .PP |
1982 | .PP |
1967 | Example: Call \f(CW\*(C`stdin_readable_cb\*(C'\fR when \s-1STDIN_FILENO\s0 has become, well |
1983 | Example: Call \f(CW\*(C`stdin_readable_cb\*(C'\fR when \s-1STDIN_FILENO\s0 has become, well |