iom_wait3
Wait for event from i/o multiplexer
Usage
#include <libowfat/io.h>
int iom_wait(iomux_t* c,
int64* fd, unsigned int* events,
unsigned long timeout);
Overview
iom_wait will wait for events registered to the I/O multiplexer with iom_add. It will wait timeout milliseconds.
If during that time any of the registered events occur, iom_wait will set fd to the file descriptor the event happened on, and events to the sum of IOM_READ, IOM_WRITE and IOM_ERROR, depending on what event actually happened, and return 1.
If nothing happens during that time, it will return 0 and leave fd and events alone.
Note that the event registration is removed from the iomux_t context if it occurs. You will have to call iom_wait again after you handled the event, if you are still interested in it.
Closing a file descriptor with registered events will discard the event registration.
Linking
You may have to add -lpthread to the command line in the linking step.
Return value
iom_wait returns 1 on success, 0 if there was a timeout, and -1 on error, setting errno. If iom_abort was called on the I/O multiplexer context, it will return -2.
Releases
Unchanged in 2 releases since Debian 12 (Bookworm).