… | |
… | |
1749 | when you rarely read from a file instead of from a socket, and want to |
1749 | when you rarely read from a file instead of from a socket, and want to |
1750 | reuse the same code path. |
1750 | reuse the same code path. |
1751 | |
1751 | |
1752 | =head3 The special problem of fork |
1752 | =head3 The special problem of fork |
1753 | |
1753 | |
1754 | Some backends (epoll, kqueue, probably linuxaio) do not support C<fork ()> |
1754 | Some backends (epoll, kqueue, linuxaio, iouring) do not support C<fork ()> |
1755 | at all or exhibit useless behaviour. Libev fully supports fork, but needs |
1755 | at all or exhibit useless behaviour. Libev fully supports fork, but needs |
1756 | to be told about it in the child if you want to continue to use it in the |
1756 | to be told about it in the child if you want to continue to use it in the |
1757 | child. |
1757 | child. |
1758 | |
1758 | |
1759 | To support fork in your child processes, you have to call C<ev_loop_fork |
1759 | To support fork in your child processes, you have to call C<ev_loop_fork |
… | |
… | |
4484 | |
4484 | |
4485 | ev_select.c only when select backend is enabled |
4485 | ev_select.c only when select backend is enabled |
4486 | ev_poll.c only when poll backend is enabled |
4486 | ev_poll.c only when poll backend is enabled |
4487 | ev_epoll.c only when the epoll backend is enabled |
4487 | ev_epoll.c only when the epoll backend is enabled |
4488 | ev_linuxaio.c only when the linux aio backend is enabled |
4488 | ev_linuxaio.c only when the linux aio backend is enabled |
|
|
4489 | ev_iouring.c only when the linux io_uring backend is enabled |
4489 | ev_kqueue.c only when the kqueue backend is enabled |
4490 | ev_kqueue.c only when the kqueue backend is enabled |
4490 | ev_port.c only when the solaris port backend is enabled |
4491 | ev_port.c only when the solaris port backend is enabled |
4491 | |
4492 | |
4492 | F<ev.c> includes the backend files directly when enabled, so you only need |
4493 | F<ev.c> includes the backend files directly when enabled, so you only need |
4493 | to compile this single file. |
4494 | to compile this single file. |
… | |
… | |
4686 | backend for GNU/Linux systems. If undefined, it will be enabled if the |
4687 | backend for GNU/Linux systems. If undefined, it will be enabled if the |
4687 | headers indicate GNU/Linux + Glibc 2.4 or newer, otherwise disabled. |
4688 | headers indicate GNU/Linux + Glibc 2.4 or newer, otherwise disabled. |
4688 | |
4689 | |
4689 | =item EV_USE_LINUXAIO |
4690 | =item EV_USE_LINUXAIO |
4690 | |
4691 | |
|
|
4692 | If defined to be C<1>, libev will compile in support for the Linux aio |
|
|
4693 | backend (C<EV_USE_EPOLL> must also be enabled). If undefined, it will be |
|
|
4694 | enabled on linux, otherwise disabled. |
|
|
4695 | |
|
|
4696 | =item EV_USE_IOURING |
|
|
4697 | |
4691 | If defined to be C<1>, libev will compile in support for the Linux |
4698 | If defined to be C<1>, libev will compile in support for the Linux |
4692 | aio backend. Due to it's currenbt limitations it has to be requested |
4699 | io_uring backend (C<EV_USE_EPOLL> must also be enabled). Due to it's |
4693 | explicitly. If undefined, it will be enabled on linux, otherwise |
4700 | current limitations it has to be requested explicitly. If undefined, it |
4694 | disabled. |
4701 | will be enabled on linux, otherwise disabled. |
4695 | |
4702 | |
4696 | =item EV_USE_KQUEUE |
4703 | =item EV_USE_KQUEUE |
4697 | |
4704 | |
4698 | If defined to be C<1>, libev will compile in support for the BSD style |
4705 | If defined to be C<1>, libev will compile in support for the BSD style |
4699 | C<kqueue>(2) backend. Its actual availability will be detected at runtime, |
4706 | C<kqueue>(2) backend. Its actual availability will be detected at runtime, |