… | |
… | |
130 | .\} |
130 | .\} |
131 | .rm #[ #] #H #V #F C |
131 | .rm #[ #] #H #V #F C |
132 | .\" ======================================================================== |
132 | .\" ======================================================================== |
133 | .\" |
133 | .\" |
134 | .IX Title "LIBEV 3" |
134 | .IX Title "LIBEV 3" |
135 | .TH LIBEV 3 "2008-06-09" "libev-3.42" "libev - high performance full featured event loop" |
135 | .TH LIBEV 3 "2008-07-05" "libev-3.43" "libev - high performance full featured event loop" |
136 | .\" For nroff, turn off justification. Always turn off hyphenation; it makes |
136 | .\" For nroff, turn off justification. Always turn off hyphenation; it makes |
137 | .\" way too many mistakes in technical documents. |
137 | .\" way too many mistakes in technical documents. |
138 | .if n .ad l |
138 | .if n .ad l |
139 | .nh |
139 | .nh |
140 | .SH "NAME" |
140 | .SH "NAME" |
… | |
… | |
1797 | .PP |
1797 | .PP |
1798 | \fI\s-1ABI\s0 Issues (Largefile Support)\fR |
1798 | \fI\s-1ABI\s0 Issues (Largefile Support)\fR |
1799 | .IX Subsection "ABI Issues (Largefile Support)" |
1799 | .IX Subsection "ABI Issues (Largefile Support)" |
1800 | .PP |
1800 | .PP |
1801 | Libev by default (unless the user overrides this) uses the default |
1801 | Libev by default (unless the user overrides this) uses the default |
1802 | compilation environment, which means that on systems with optionally |
1802 | compilation environment, which means that on systems with large file |
1803 | disabled large file support, you get the 32 bit version of the stat |
1803 | support disabled by default, you get the 32 bit version of the stat |
1804 | structure. When using the library from programs that change the \s-1ABI\s0 to |
1804 | structure. When using the library from programs that change the \s-1ABI\s0 to |
1805 | use 64 bit file offsets the programs will fail. In that case you have to |
1805 | use 64 bit file offsets the programs will fail. In that case you have to |
1806 | compile libev with the same flags to get binary compatibility. This is |
1806 | compile libev with the same flags to get binary compatibility. This is |
1807 | obviously the case with any flags that change the \s-1ABI\s0, but the problem is |
1807 | obviously the case with any flags that change the \s-1ABI\s0, but the problem is |
1808 | most noticeably with ev_stat and large file support. |
1808 | most noticeably disabled with ev_stat and large file support. |
|
|
1809 | .PP |
|
|
1810 | The solution for this is to lobby your distribution maker to make large |
|
|
1811 | file interfaces available by default (as e.g. FreeBSD does) and not |
|
|
1812 | optional. Libev cannot simply switch on large file support because it has |
|
|
1813 | to exchange stat structures with application programs compiled using the |
|
|
1814 | default compilation environment. |
1809 | .PP |
1815 | .PP |
1810 | \fIInotify\fR |
1816 | \fIInotify\fR |
1811 | .IX Subsection "Inotify" |
1817 | .IX Subsection "Inotify" |
1812 | .PP |
1818 | .PP |
1813 | When \f(CW\*(C`inotify (7)\*(C'\fR support has been compiled into libev (generally only |
1819 | When \f(CW\*(C`inotify (7)\*(C'\fR support has been compiled into libev (generally only |
… | |
… | |
3267 | parallel from multiple threads, calls with the same loop parameter must be |
3273 | parallel from multiple threads, calls with the same loop parameter must be |
3268 | done serially (but can be done from different threads, as long as only one |
3274 | done serially (but can be done from different threads, as long as only one |
3269 | thread ever is inside a call at any point in time, e.g. by using a mutex |
3275 | thread ever is inside a call at any point in time, e.g. by using a mutex |
3270 | per loop). |
3276 | per loop). |
3271 | .PP |
3277 | .PP |
3272 | If you want to know which design is best for your problem, then I cannot |
3278 | If you want to know which design (one loop, locking, or multiple loops |
3273 | help you but by giving some generic advice: |
3279 | without or something else still) is best for your problem, then I cannot |
|
|
3280 | help you. I can give some generic advice however: |
3274 | .IP "\(bu" 4 |
3281 | .IP "\(bu" 4 |
3275 | most applications have a main thread: use the default libev loop |
3282 | most applications have a main thread: use the default libev loop |
3276 | in that thread, or create a separate thread running only the default loop. |
3283 | in that thread, or create a separate thread running only the default loop. |
3277 | .Sp |
3284 | .Sp |
3278 | This helps integrating other libraries or software modules that use libev |
3285 | This helps integrating other libraries or software modules that use libev |
… | |
… | |
3565 | .IX Header "AUTHOR" |
3572 | .IX Header "AUTHOR" |
3566 | Marc Lehmann <libev@schmorp.de>. |
3573 | Marc Lehmann <libev@schmorp.de>. |
3567 | .SH "POD ERRORS" |
3574 | .SH "POD ERRORS" |
3568 | .IX Header "POD ERRORS" |
3575 | .IX Header "POD ERRORS" |
3569 | Hey! \fBThe above document had some coding errors, which are explained below:\fR |
3576 | Hey! \fBThe above document had some coding errors, which are explained below:\fR |
3570 | .IP "Around line 3116:" 4 |
3577 | .IP "Around line 3122:" 4 |
3571 | .IX Item "Around line 3116:" |
3578 | .IX Item "Around line 3122:" |
3572 | You forgot a '=back' before '=head2' |
3579 | You forgot a '=back' before '=head2' |