table of contents
iom_requeue(3) | Library Functions Manual | iom_requeue(3) |
NAME¶
iom_requeue - re-add event to I/O multiplexer
SYNTAX¶
#include <libowfat/io.h>
int iom_requeue(iomux_t* c, int64 fd, unsigned int events);
DESCRIPTION¶
iom_requeue 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, iom_wait 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_requeue again if you are interested in more events for this descriptor. Do this only after you are done handling this event, otherwise iom_wait might indicate a new event to another thread while this thread is still working on the descriptor, leading to unexpected behavior.
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_requeue returns 0 on success and -1 on error, setting errno.
SEE ALSO¶
iom_init, iom_add, iom_wait, iom_abort