diff options
author | Martin Sustrik <sustrik@250bpm.com> | 2010-09-09 08:25:00 +0200 |
---|---|---|
committer | Martin Sustrik <sustrik@250bpm.com> | 2010-09-09 08:25:00 +0200 |
commit | a68e6739f4248e25a0f9a64c89729f55dfacb842 (patch) | |
tree | 4686061e52137cfa373587162f59536cd3f55d32 /src/zmq_connecter.cpp | |
parent | 47e87b7e4b8dd6a0cfbc1f30ffcb06edfa83c853 (diff) |
when no I/O threads are available error is raised instead of assertion
Diffstat (limited to 'src/zmq_connecter.cpp')
-rw-r--r-- | src/zmq_connecter.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/zmq_connecter.cpp b/src/zmq_connecter.cpp index 8f8fae2..cfca875 100644 --- a/src/zmq_connecter.cpp +++ b/src/zmq_connecter.cpp @@ -77,9 +77,14 @@ void zmq::zmq_connecter_t::out_event () return; } + // Choose I/O thread to run connecter in. Given that we are already + // running in an I/O thread, there must be at least one available. + io_thread_t *io_thread = choose_io_thread (options.affinity); + zmq_assert (io_thread); + // Create an init object. - zmq_init_t *init = new (std::nothrow) zmq_init_t ( - choose_io_thread (options.affinity), NULL, session, fd, options); + zmq_init_t *init = new (std::nothrow) zmq_init_t (io_thread, NULL, + session, fd, options); zmq_assert (init); launch_sibling (init); |