summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Sustrik <sustrik@250bpm.com>2012-04-05 10:41:47 +0200
committerMartin Sustrik <sustrik@250bpm.com>2012-04-06 12:56:24 +0200
commita5fefa3d5ba405deedba689b056959358048d935 (patch)
tree219d2936e57003c785aa1bf8f57b5be294823fe0
parent494d4d36237f37c455f6689fca280ed75498403a (diff)
EMTHREAD error code removed
libxs (as opposed to libzmq) requires at least one I/O thread per context. Thus, "no I/O thread available" error doesn't make sense anyome. This patch removes the code and the documentation. It keeps the definition of EMTHREAD itself for backward compatibility. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
-rw-r--r--doc/xs_bind.txt2
-rw-r--r--doc/xs_connect.txt2
-rw-r--r--include/xs.h3
-rw-r--r--src/err.cpp2
-rw-r--r--src/socket_base.cpp10
5 files changed, 4 insertions, 15 deletions
diff --git a/doc/xs_bind.txt b/doc/xs_bind.txt
index 8cd49bc..fc08124 100644
--- a/doc/xs_bind.txt
+++ b/doc/xs_bind.txt
@@ -60,8 +60,6 @@ The requested 'address' specifies a nonexistent interface.
The 'context' associated with the specified 'socket' was terminated.
*ENOTSOCK*::
The provided 'socket' was invalid.
-*EMTHREAD*::
-No I/O thread is available to accomplish the task.
EXAMPLE
diff --git a/doc/xs_connect.txt b/doc/xs_connect.txt
index a0a6ae7..898b915 100644
--- a/doc/xs_connect.txt
+++ b/doc/xs_connect.txt
@@ -58,8 +58,6 @@ The requested 'transport' protocol is not compatible with the socket type.
The 'context' associated with the specified 'socket' was terminated.
*ENOTSOCK*::
The provided 'socket' was invalid.
-*EMTHREAD*::
-No I/O thread is available to accomplish the task.
EXAMPLE
diff --git a/include/xs.h b/include/xs.h
index 6f0004c..e44587e 100644
--- a/include/xs.h
+++ b/include/xs.h
@@ -111,7 +111,8 @@ XS_EXPORT void xs_version (int *major, int *minor, int *patch);
#define EFSM (XS_HAUSNUMERO + 51)
#define ENOCOMPATPROTO (XS_HAUSNUMERO + 52)
#define ETERM (XS_HAUSNUMERO + 53)
-#define EMTHREAD (XS_HAUSNUMERO + 54)
+#define EMTHREAD (XS_HAUSNUMERO + 54) /* Kept for backward compatibility. */
+ /* Not used anymore. */
/* This function retrieves the errno as it is known to Crossroads library. */
/* The goal of this function is to make the code 100% portable, including */
diff --git a/src/err.cpp b/src/err.cpp
index f05cf06..f9549ff 100644
--- a/src/err.cpp
+++ b/src/err.cpp
@@ -49,8 +49,6 @@ const char *xs::errno_to_string (int errno_)
return "The protocol is not compatible with the socket type";
case ETERM:
return "Context was terminated";
- case EMTHREAD:
- return "No thread available";
default:
#if defined _MSC_VER
#pragma warning (push)
diff --git a/src/socket_base.cpp b/src/socket_base.cpp
index fbb3b5e..5b1752e 100644
--- a/src/socket_base.cpp
+++ b/src/socket_base.cpp
@@ -326,10 +326,7 @@ int xs::socket_base_t::bind (const char *addr_)
// Remaining trasnports require to be run in an I/O thread, so at this
// point we'll choose one.
io_thread_t *thread = choose_io_thread (options.affinity);
- if (!thread) {
- errno = EMTHREAD;
- return -1;
- }
+ xs_assert (thread);
if (protocol == "tcp") {
tcp_listener_t *listener = new (std::nothrow) tcp_listener_t (
@@ -437,10 +434,7 @@ int xs::socket_base_t::connect (const char *addr_)
// Choose the I/O thread to run the session in.
io_thread_t *thread = choose_io_thread (options.affinity);
- if (!thread) {
- errno = EMTHREAD;
- return -1;
- }
+ xs_assert (thread);
// Create session.
session_base_t *session = session_base_t::create (thread, true, this,