summaryrefslogtreecommitdiff
path: root/doc/xs_init.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/xs_init.txt')
-rw-r--r--doc/xs_init.txt23
1 files changed, 23 insertions, 0 deletions
diff --git a/doc/xs_init.txt b/doc/xs_init.txt
index 373822a..40a64bf 100644
--- a/doc/xs_init.txt
+++ b/doc/xs_init.txt
@@ -21,6 +21,28 @@ 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 linkxs: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
------------
@@ -38,6 +60,7 @@ SEE ALSO
--------
linkxs:xs[7]
linkxs:xs_term[3]
+linkxs:xs_setctxopt[3]
AUTHORS