XS_INIT(3) Crossroads I/O Manual XS_INIT(3)NAME
xs_init - initialise Crossroads context
SYNOPSIS
void *xs_init ();
DESCRIPTION
The xs_init() function initialises a Crossroads context.
Thread safety. A context is thread safe and may be shared among as many
application threads as necessary, without any additional locking
required on the part of the caller.
The individual sockets within a context are not thread safe —
applications may not use a single socket concurrently from multiple
threads.
A socket may be migrated from one thread to another, by issuing a full
memory barrier between individual calls on the socket. For example,
this means applications can create a socket in one thread with
xs_socket() and then pass it to a newly created thread as part of
thread initialization via a structure passed as an argument to
pthread_create().
Context options. Context options may be set prior to creating the first
socket within a context, using the xs_setctxopt() function. See
xs_setctxopt(3) for details on the available context options.
Multiple contexts. Multiple contexts may coexist within a single
application. Thus, an application can use Crossroads directly and at
the same time make use of any number of additional libraries or
components which themselves make use of Crossroads.
RETURN VALUE
The xs_init() function shall return an opaque handle to the initialised
context if successful. Otherwise it shall return NULL and set errno to
one of the values defined below.
ERRORS
No error values are defined.
SEE ALSOxs(7)xs_term(3)xs_setctxopt(3)AUTHORS
The Crossroads documentation was written by Martin Sustrik
<sustrik@250bpm.com[1]> and Martin Lucina <martin@lucina.net[2]>.
NOTES
1. sustrik@250bpm.com
mailto:sustrik@250bpm.com
2. martin@lucina.net
mailto:martin@lucina.net
Crossroads I/O 1.2.0 02/17/2016 XS_INIT(3)