'\" t .\" Title: xs_init .\" Author: [see the "AUTHORS" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 .\" Date: 06/13/2012 .\" Manual: Crossroads I/O Manual .\" Source: Crossroads I/O 1.2.0 .\" Language: English .\" .TH "XS_INIT" "3" "06/13/2012" "Crossroads I/O 1\&.2\&.0" "Crossroads I/O Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" xs_init \- initialise Crossroads context .SH "SYNOPSIS" .sp \fBvoid *xs_init ();\fR .SH "DESCRIPTION" .sp The \fIxs_init()\fR function initialises a Crossroads \fIcontext\fR\&. .PP \fBThread safety\fR. A \fIcontext\fR 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\&. .sp The individual \fIsockets\fR within a \fIcontext\fR are \fInot\fR thread safe \(em applications may \fInot\fR use a single \fIsocket\fR concurrently from multiple threads\&. .sp A \fIsocket\fR \fImay\fR be \fImigrated\fR from one thread to another, by issuing a full memory barrier between individual calls on the \fIsocket\fR\&. For example, this means applications can create a socket in one thread with \fIxs_socket()\fR and then pass it to a \fInewly created\fR thread as part of thread initialization via a structure passed as an argument to \fIpthread_create()\fR\&. .PP \fBContext options\fR. Context options may be set prior to creating the first socket within a \fIcontext\fR, using the \fIxs_setctxopt()\fR function\&. See \fBxs_setctxopt\fR(3) for details on the available context options\&. .PP \fBMultiple contexts\fR. Multiple \fIcontexts\fR 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\&. .SH "RETURN VALUE" .sp The \fIxs_init()\fR function shall return an opaque handle to the initialised \fIcontext\fR if successful\&. Otherwise it shall return NULL and set \fIerrno\fR to one of the values defined below\&. .SH "ERRORS" .sp No error values are defined\&. .SH "SEE ALSO" .sp \fBxs\fR(7) \fBxs_term\fR(3) \fBxs_setctxopt\fR(3) .SH "AUTHORS" .sp The Crossroads documentation was written by Martin Sustrik <\m[blue]\fBsustrik@250bpm\&.com\fR\m[]\&\s-2\u[1]\d\s+2> and Martin Lucina <\m[blue]\fBmartin@lucina\&.net\fR\m[]\&\s-2\u[2]\d\s+2>\&. .SH "NOTES" .IP " 1." 4 sustrik@250bpm.com .RS 4 \%mailto:sustrik@250bpm.com .RE .IP " 2." 4 martin@lucina.net .RS 4 \%mailto:martin@lucina.net .RE