… | |
… | |
27 | |
27 | |
28 | It also offers wrappers around C<sendfile> (Solaris, Linux, HP-UX and |
28 | It also offers wrappers around C<sendfile> (Solaris, Linux, HP-UX and |
29 | FreeBSD, with emulation on other platforms) and C<readahead> (Linux, with |
29 | FreeBSD, with emulation on other platforms) and C<readahead> (Linux, with |
30 | emulation elsewhere>). |
30 | emulation elsewhere>). |
31 | |
31 | |
32 | The goal is to enbale you to write fully non-blocking programs. For |
32 | The goal is to enable you to write fully non-blocking programs. For |
33 | example, in a game server, you would not want to freeze for a few seconds |
33 | example, in a game server, you would not want to freeze for a few seconds |
34 | just because the server is running a backup and you happen to call |
34 | just because the server is running a backup and you happen to call |
35 | C<readdir>. |
35 | C<readdir>. |
36 | |
36 | |
37 | =head2 TIME REPRESENTATION |
37 | =head2 TIME REPRESENTATION |
… | |
… | |
236 | =head1 EMBEDDING |
236 | =head1 EMBEDDING |
237 | |
237 | |
238 | Libeio can be embedded directly into programs. This functionality is not |
238 | Libeio can be embedded directly into programs. This functionality is not |
239 | documented and not (yet) officially supported. |
239 | documented and not (yet) officially supported. |
240 | |
240 | |
|
|
241 | Note that, when including C<libeio.m4>, you are responsible for defining |
|
|
242 | the compilation environment (C<_LARGEFILE_SOURCE>, C<_GNU_SOURCE> etc.). |
|
|
243 | |
241 | If you ened to know how, cehck the C<IO::AIO> perl module, which does |
244 | If you need to know how, check the C<IO::AIO> perl module, which does |
242 | exactly that. |
245 | exactly that. |
|
|
246 | |
|
|
247 | |
|
|
248 | =head1 COMPILETIME CONFIGURATION |
|
|
249 | |
|
|
250 | These symbols, if used, must be defined when compiling F<eio.c>. |
|
|
251 | |
|
|
252 | =over 4 |
|
|
253 | |
|
|
254 | =item EIO_STACKSIZE |
|
|
255 | |
|
|
256 | This symbol governs the stack size for each eio thread. Libeio itself |
|
|
257 | was written to use very little stackspace, but when using C<EIO_CUSTOM> |
|
|
258 | requests, you might want to increase this. |
|
|
259 | |
|
|
260 | If this symbol is undefined (the default) then libeio will use its default |
|
|
261 | stack size (C<sizeof (long) * 4096> currently). If it is defined, but |
|
|
262 | C<0>, then the default operating system stack size will be used. In all |
|
|
263 | other cases, the value must be an expression that evaluates to the desired |
|
|
264 | stack size. |
|
|
265 | |
|
|
266 | =back |
243 | |
267 | |
244 | |
268 | |
245 | =head1 PORTABILITY REQUIREMENTS |
269 | =head1 PORTABILITY REQUIREMENTS |
246 | |
270 | |
247 | In addition to a working ISO-C implementation, libeio relies on a few |
271 | In addition to a working ISO-C implementation, libeio relies on a few |