diff options
author | Martin Sustrik <sustrik@250bpm.com> | 2012-03-13 11:10:33 +0100 |
---|---|---|
committer | Martin Sustrik <sustrik@250bpm.com> | 2012-03-13 11:10:33 +0100 |
commit | 921da22147e201455837bcd38df1af33aceff26f (patch) | |
tree | e76e001ac65d4fa96ab89468e109db05978b7f70 /src/xszmq.cpp | |
parent | 224b7c7a816010fc0f781372051ec7c578af42a0 (diff) |
io_threads argument removed from xs_init()
The argument was changed to a context option (XS_IO_THREADS).
0MQ compatibility mode sets the option and ensures that
there's at least one I/O thread present.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
Diffstat (limited to 'src/xszmq.cpp')
-rw-r--r-- | src/xszmq.cpp | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/src/xszmq.cpp b/src/xszmq.cpp index d97d9ea..6b3930c 100644 --- a/src/xszmq.cpp +++ b/src/xszmq.cpp @@ -112,7 +112,22 @@ size_t zmq_msg_size (zmq_msg_t *msg) void *zmq_init (int io_threads) { - return xs_init (io_threads); + void *ctx = xs_init (); + if (!ctx) + return NULL; + + // Crossroads don't allow for zero I/O threads. + if (io_threads < 1) + io_threads = 1; + + int rc = xs_setctxopt (ctx, XS_IO_THREADS, &io_threads, + sizeof (io_threads)); + if (rc != 0) { + xs_term (ctx); + return NULL; + } + + return ctx; } int zmq_term (void *context) |