summaryrefslogtreecommitdiff
path: root/src/socket_base.cpp
diff options
context:
space:
mode:
authorMartin Sustrik <sustrik@fastmq.commkdir>2009-12-28 21:29:31 +0100
committerMartin Sustrik <sustrik@fastmq.commkdir>2009-12-28 21:29:31 +0100
commit72161fb075025410312c6735d681c3de9a36a4e5 (patch)
treed1db0ed04875ccb6b385238abe11a9375ee10f91 /src/socket_base.cpp
parentc97967ed4b70de700db38cc2661bbe43262bc029 (diff)
format of subscriptions changed (no * needed anymore)
Diffstat (limited to 'src/socket_base.cpp')
-rw-r--r--src/socket_base.cpp11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/socket_base.cpp b/src/socket_base.cpp
index 43209d5..2348f67 100644
--- a/src/socket_base.cpp
+++ b/src/socket_base.cpp
@@ -326,17 +326,20 @@ int zmq::socket_base_t::recv (::zmq_msg_t *msg_, int flags_)
if (errno != EAGAIN)
return -1;
app_thread->process_commands (false, false);
- ticks = 0;
rc = xrecv (msg_, flags_);
+ ticks = 0;
}
else {
while (rc != 0) {
- if (errno != EAGAIN)
+ if (errno == EINPROGRESS)
+ app_thread->process_commands (false, true);
+ else if (errno == EAGAIN)
+ app_thread->process_commands (true, false);
+ else
return -1;
- app_thread->process_commands (true, false);
- ticks = 0;
rc = xrecv (msg_, flags_);
}
+ ticks = 0;
}