iom_init(3)

iom_init3

Create new i/o multiplexer

Usage

#include <libowfat/io.h>

int iom_init(iomux_t* c);

Overview

iom_init initializes an I/O multiplexer.

An I/O multiplexer is a context that can be used to do I/O multiplexing with support for multiple threads. Add events to a multiplexer using iom_add, and then get the next available event with iom_wait. If you are done and want to signal all the threads something, set a volatile global variable to tell the threads to stop and then fall iom_abort to tell all pending iom_wait operations in all threads to return immediately.

After iom_init is done, iom_add and iom_wait can be called from different threads on the same context, and they will synchronize internally.

Linking

You may have to add -lpthread to the command line in the linking step.

Return value

iom_init returns 0 on success and -1 on error, setting errno.

Releases

Unchanged in 2 releases since Debian 12 (Bookworm).

  1. 12–13

From libowfat-dev 0.32-5 in Debian 13 (Trixie). Parsed by carta from the page's man source.