Provided by: libxs-dev_1.2.0-1.1_amd64 bug

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 ALSO

       xs(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