You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
1015 B
Groff
31 lines
1015 B
Groff
.TH iom_init 3
|
|
.SH NAME
|
|
iom_init \- create new I/O multiplexer
|
|
.SH SYNTAX
|
|
.B #include <libowfat/io.h>
|
|
|
|
int \fBiom_init\fP(iomux_t* c);
|
|
.SH DESCRIPTION
|
|
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
|
|
\fIiom_add\fR, and then get the next available event with
|
|
\fIiom_wait\fR. 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 \fIiom_abort\fR to tell all pending iom_wait operations in
|
|
all threads to return immediately.
|
|
|
|
After \fIiom_init\fR is done, \fIiom_add\fR and \fIiom_wait\fR can be
|
|
called from different threads on the same context, and they will
|
|
synchronize internally.
|
|
|
|
.SH "LINKING"
|
|
You may have to add \fI-lpthread\fR to the command line in the linking
|
|
step.
|
|
|
|
.SH "RETURN VALUE"
|
|
iom_init returns 0 on success and -1 on error, setting errno.
|
|
.SH "SEE ALSO"
|
|
iom_add, iom_wait, iom_abort
|