UnixIoThread#
Poll-based event loop to handle events of file descriptors.
| Header: | #include <AUI/Platform/unix/UnixIoThread.h> |
| CMake: | aui_link(my_target PUBLIC aui::core) |
Public Methods#
waitForEvent#
AFuture<ABitField<UnixPollEvent>> UnixIoThread::waitForEvent(int fd, ABitField<UnixPollEvent> flags)
A simplified version of registerCallback/unregisterCallback for waiting events on file descriptor.
- Arguments
fdfile descriptor to watch on.flagswhich events to listen- Returns
- AFuture with bitfield on which events was triggerred
AAsyncHolder async;
async << []() -> AFuture<> {
int signalFd = signalfd(-1, &procMask, SFD_CLOEXEC);
for (;;) {
co_await UnixIoThread::inst().waitForEvent(signalFd, UnixPollEvent::IN);
read(signalFd, ...);
}
close(signalFd);
};