iom_add(3) | Library Functions Manual | iom_add(3) |
iom_add - add event to I/O multiplexer
#include <libowfat/io.h>
int iom_add(iomux_t* c, int64 fd, unsigned int events);
iom_add adds an event you are interested in to an I/O multiplexer.
fd is the file descriptor (usually a socket) you are interested in, and events is the operation you want to do. It can be IOM_READ or IOM_WRITE.
If that operation becomes possible on that descriptor, and some thread is calling iom_wait at the time, it will return and tell you the fd and the event.
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.
You may have to add -lpthread to the command line in the linking step.
iom_add returns 0 on success and -1 on error, setting errno.
iom_init, iom_wait, iom_abort